繁体   English   中英

如何从DOM中获取元素并设置onclick事件?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM