我有这个 html 元素:
<table id="miniToolbar">
<tbody>
<tr><td>
<button id="btnStrView" type="button" onclick='parent.ExecuteCommand()' class="button_air-medium">
<img id="streetView" class="miniToolbarContant" src="../stdicons/streetview-icon.png"></button>
</td></tr>
<tbody>
</table>
如您所见,我在点击事件中具有按钮内部:
onclick='parent.ExecuteCommand()'
我有这个 JS 函数:
function isMenuItemMasked(item)
{
var funcId = '75';
var elem = document.getElementById('btnStrView');
return false;
}
正如你在函数内部看到的,我有一个名为 funcId 的变量。
我需要将此 funcId 放入点击事件中:
onclick='parent.ExecuteCommand('75')'
获取元素并将其放入 elem 变量后,如何将 funcId
作为参数传递给 parent.ExecuteCommand()
?
最佳答案
我认为您想动态设置函数参数。在不使用外部库的情况下,我会执行以下操作:
function runSubmit() {
var value = document.getElementById("text").value;
document.getElementById("run").addEventListener('click', function() {
func(value);
});
}
function func(value) {
console.log(value);
}
<input id="text" type="text">
<input type="submit" value="Setup Param" onclick="runSubmit()">
<input id="run" type="submit" value="Run with param">
如何使用它:当您运行代码片段时,您将看到一个文本输入、一个“设置参数”按钮和一个“使用参数运行”按钮。在文本输入中插入一些内容,然后单击“设置参数”。之后,点击Run with param看效果
输入文本包含将用作func(value)
参数的字符串。 #run
按钮回调的更新由“Setup param”通过 runSubmit()
回调触发。此回调向 #run
元素添加一个 'click'
事件的监听器,该监听器在事件发生时运行一个具有固定参数的函数。
这只是一个 MCVE,您应该根据您的案例场景进行调整。
嗯...实际上@jacob-goh 在我写这篇文章时在评论中给了你这个确切的解决方案...
关于javascript - 如何从 DOM 获取元素并设置 onclick 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50461111/