我有一个创建元素的脚本,创建过程的一部分是添加一个onclick事件(使用addEventListener),但是当我点击一个子元素时,会触发父元素的onclick事件。当源是子元素时,如何防止检测到点击?
问问题
3614 次
3 回答
3
使用event.stopPropagation()
. 这会阻止 Javascript 事件的冒泡,并且只允许应用到目标元素的事件执行;
window.addEventListener("click", function(event){
// event here
event.stopPropagation();
}, false);
于 2012-08-20T18:51:03.937 回答
2
问题是事件正在冒泡到父级。
在孩子的onclick
事件中,告诉事件停止传播:
onclick = function (event) {
// ...
event.stopPropagation();
};
于 2012-08-20T18:51:19.023 回答
1
父点击处理程序:(检查被点击元素的 id)
function handler(e){
if(e.target.id != "parentID") return;
....
}
于 2012-08-20T18:52:46.610 回答