[英]Attaching Right Click Event on Dynamically Created Elements
下面是動態創建元素並附加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);
附加一個右鍵單擊事件怎么樣?
你的問題的答案包括兩部分:
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!");
})
您可以使用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); }
添加
div.oncontextmenu = function(e){
e.preventDefault();
console.debug(e);
}
而是點擊
工作示例
node.addEventListener('contextmenu', function(ev) {
ev.preventDefault();
alert('success! - Right Click');
return false;
}, 錯誤的);
代碼筆: http ://codepen.io/mastersmind/pen/WogoVB
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.