以下是动态创建元素并附加onclick事件的代码。
var div = document.createElement('div');
div.onclick = function(e){
console.debug(e);
}
var parent = document.getElementsByClassName('myid_templates_editor_center_menu');
parent[0].appendChild(div);
如何附加右键单击事件?
答案 0 :(得分:3)
您的问题的答案由两部分组成:
1)如何附加右键单击事件?
答案:使用contextmenu
事件。
2)如何将事件附加到动态创建的元素?
答案:我们的想法是将事件附加到包含新创建元素的父元素。事件将沿DOM传播,直到它到达您的父元素。
工作示例:
//get parent elements
var elements = getElementsByClassName('myid_templates_editor_center_menu');
//attach to the first found parent element
elements[0].addEventlistener('contextmenu', function(e) {
console.log("right clicked!");
})
答案 1 :(得分:1)
您可以使用contextmenu
事件
window.onload = function() {
var div = document.createElement("div");
div.innerHTML = "right click";
div.oncontextmenu = function(e) {
console.debug(e.type, e);
}
document.body.appendChild(div);
}
答案 2 :(得分:1)
添加
div.oncontextmenu = function(e){
e.preventDefault();
console.debug(e);
}
而是onclick
答案 3 :(得分:0)
var div = document.createElement('div');
div.oncontextmenu = function(e){
console.debug(e);
}
var parent = document.getElementsByClassName('myid_templates_editor_center_menu');
parent[0].appendChild(div);
答案 4 :(得分:0)
工作示例
node.addEventListener('contextmenu', function(ev) {
ev.preventDefault();
alert('success! - Right Click');
return false;
},false);