javascript - 在动态创建的元素上附加右键单击事件

标签 javascript events event-handling dom-events mouseevent

下面是动态创建元素并附加 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!");
 })

关于javascript - 在动态创建的元素上附加右键单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41095678/

相关文章:

当在新框架上显示时,Java var 变回 0

javascript - 在内联事件处理程序中传递事件数据

asp.net - 如何审核用户何时离开 ASP.NET 应用程序

c# - 在 ObservableCollection.CollectionChanged 上运行昂贵的操作

java - 无法将 ActionListener 添加到 JPanel?

javascript - 在 Google Drive 中生成第三方应用程序文件预览的最佳方法?

javascript - Jquery,可拖动的div不会使用Firefox在内部自动调整 Accordion 的大小

Javascript:使用 "this"修改字符串的 [[PrimitiveValue]]

javascript - 如何在Metro风格应用中实现滑动页面过渡

ios - 当 iOS 应用程序从应用程序切换器中滑动时调用哪个事件?