[英]How to get element from DOM and set onclick event?
我有这个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放入on click事件:
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">
使用方法:运行代码段时,将看到一个文本输入,一个“设置参数”按钮和一个“运行带有参数”按钮。 在文本输入中插入一些内容,然后单击“设置参数”。 之后,单击“使用参数运行”以查看效果
输入文本包含将用作func(value)
参数的字符串。 #run
按钮回调的更新由“ Setup param”通过runSubmit()
回调触发。 此回调向#run
元素添加了'click'
事件的侦听器,该侦听器在事件发生时运行带有固定参数的函数。
这只是一个MCVE,您应该根据情况进行调整。
嗯...实际上@ jacob-goh在我撰写本文时在评论中给了您这个确切的解决方案...
您可以使用jquery从函数内部调用函数,并将变量传递给该函数。
function isMenuItemMasked(item)
{
var funcId = "75";
$(document).ready(function(){
$("#btnStrView").click(function(){
parent.ExecuteCommand(funcId);
});
});
}
function ExecuteCommand(your_var){
alert(your_var);
//your code
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.