javascript - 在div内添加2个按钮时,只有第二个起作用

标签 javascript greasemonkey

使用greasemonkey 添加这两个按钮。我尝试颠倒顺序,但始终是第二个添加的按钮有效。另一个按钮不会触发 onclick 事件。

// Add the click to chat button
mydiv             = document.getElementById("optionalJobinfoData");
var btn           = document.createElement("input");
btn.type          = 'button';
btn.value         = 'Click to Chat';
btn.onclick       = function() { window.open(chatURL); };
mydiv.innerHTML  += "<i>Notify Dispatch</i><br><i>(stuck on job)</i>&nbsp;&nbsp;";
mydiv.appendChild(btn);

// Credentials button
mydiv             = document.getElementById("optionalJobinfoData");
btn               = document.createElement("input");
btn.type          = 'button';
btn.value         = 'Credentials';
btn.onclick       = function() { window.open(credsURL); };
mydiv.innerHTML  += "<br><br><i>DSL Credentials</i> ";
mydiv.appendChild(btn);

最佳答案

问题在于执行 mydiv.innerHTML += ...

这与这里的答案类似。 Manipulating innerHTML removes the event handler of a child element?

关于javascript - 在div内添加2个按钮时,只有第二个起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14778817/

相关文章:

javascript - 用一些共享操作来干燥简单的条件

javascript - 在MongoDB原生的NodeJS Driver中,什么时候使用MongoClient构造函数,什么时候使用Db构造函数?

jquery - 单击按钮的用户脚本

javascript - 用于警报文本的 JQuery/JS 变量

javascript - 无法使用 document.body.appendChild 附加 javascript

javascript - 为管道创建可导入类 - Angular 4

javascript - 覆盖Javascript SetTimeout时间但保留内部函数

javascript - Greasemonkey 中的 $().keyup

javascript - 在不丢失事件的情况下替换 HTML 中数据绑定(bind)中的值

javascript - 解除绑定(bind).onselectstart 返回 false