Javascript 如何通过单击ono弹出区域消除弹出气泡
当用户双击网页时,我使用以下代码创建弹出气泡:Javascript 如何通过单击ono弹出区域消除弹出气泡,javascript,google-chrome-extension,Javascript,Google Chrome Extension,当用户双击网页时,我使用以下代码创建弹出气泡: function displaySomething(x, y) { var div = document.createElement("div"); div.id = "displaySomething_div"; .... } var listener = function (event) { if (event.button == 0 ) { var div = document.getElementById(
function displaySomething(x, y) {
var div = document.createElement("div");
div.id = "displaySomething_div";
....
}
var listener = function (event) {
if (event.button == 0 ) {
var div = document.getElementById("displaySomething_div");
if (div) {
document.body.removeChild(div);
}
displaySomething(event.pageX, event.pageY);
}
};
document.addEventListener("dblclick", listener, false);
目前,只有当我双击页面或气泡时,弹出气泡才会消失
只有在页面的非气泡区域上单击一次,才可以消除弹出气泡吗?也就是说,如果我在气泡上单击或选择,气泡将保持在那里。向弹出div添加一个单击处理程序,它将停止单击事件的传播,然后您可以安全地将一个单击处理程序附加到文档父级 例如:
stopPropagation()
在我的场景中非常有效。非常感谢你!
function displaySomething(x, y) {
var div = document.createElement("div");
div.id = "displaySomething_div";
...
div.addEventListener('click', function(e) { e.stopPropagation(); }, false);
}
var listener = function (event) {
if (event.button == 0) {
var div = document.getElementById("displaySomething_div");
if (div) {
document.body.removeChild(div);
} else {
displaySomething(event.pageX, event.pageY);
}
}
};
document.addEventListener('click', listener, false);