我有以下代码
var eventbar = document.createElement("Div");
eventbar.id = "eventa";
eventbar.className= "event";
eventbar.onclick = 'createpopupdata(this)';
eventbar.innerHTML = "Click here";
document.getElementById("body").appendChild(eventbar);
然而,当它在HTML中创建对象时,我的检查器在创建的HTML Div中没有显示onClick属性。想知道我出错了,因为我已尝试多种方式发布在这里。 (显然没有引号直接运行函数。)
编辑:如果我必须做一些特别的事情,比如为对象创建一个监听器,或者是否有一个简单的解决方案,我就会动摇。
答案 0 :(得分:2)
您可以尝试这样的事情:
var eventbar = document.createElement("Div");
eventbar.id = "eventa";
eventbar.className = "event";
eventbar.onclick = createpopupdata.bind(null,eventbar);
eventbar.innerHTML = "Click here";
document.getElementById("body").appendChild(eventbar);
function createpopupdata(el){
alert(el.id)
}

div{
width:50px;
height:50px;
background:#eee;
}

<div id="body"></div>
&#13;
答案 1 :(得分:1)
您的// Quit when all windows are closed.
app.on('window-all-closed', function () {
// On OS X it is common for applications and their menu bar
// to stay active until the user quits explicitly with Cmd + Q
if (process.platform !== 'darwin') {
app.quit();
}
});
app.on('activate', function () {
// On OS X it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (mainWindow === null) {
createWindow();
}
});
(不是onclick
它的区分大小写!)应该是对函数(onClick
)的引用,而不是对它的调用({{1 }})。
首先将它添加到DOM,然后是onclick监听器。
createpopupdata
&#13;
您还必须拥有'createpopupdata(this)'
才能使您的版本正常运行。我修改它以适用于通常的情况。
答案 2 :(得分:0)
这应该有效:
eventbar.addEventListener('click', function (){
createpopupdate(this);
}, false);