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

标签 javascript jquery html

我有这个 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/

相关文章:

javascript - 为什么保存输入值的变量总是记录为空?

javascript - 在这种情况下如何避免回调 hell ?

javascript - Jquery onclick 似乎阻止了复选框检查

javascript - scrollmagic 不响应触发元素

javascript - 循环不返回所有数据 JavaScript

javascript - 如何在密码字段中显示文本

javascript - 如何从 HTML 表单获取数据发布进度

javascript - 通过单击 HTML 中的另一个按钮使按钮不可见

javascript - 使用 Apache Cordova MS VS Extension 在 App Store 上保护应用程序

javascript - 为博主创建网站并授予管理员权限