我想以某种方式能够使用javascript定义onclickout事件。当用户点击相关元素的任何其他位置时,就会发生这种情况。 我尝试使用onblur,但它似乎不起作用:/
还有其他方法吗? 谢谢:)
答案 0 :(得分:3)
这使用jQuery帮助,但如果没有它,逻辑是相同的。
$(document).mouseup(function(event) {
var condition = $(event.target).parents(/* element_in_question */).length;
if (condition == 0) { // 0 means the event is not originated from the element in question
// Do what you need to do
}
}
});
答案 1 :(得分:2)
document.getElementById('click').onclick = function(event) {
event.stopPropagation();
}
document.onclick = function() {
alert('click somewhere else');
}
这会在#click
处理程序的任意位置(document.onclick
除外)发送一次点击,这将触发alert()
。
答案 2 :(得分:0)
您可以在元素的单击处理程序上设置变量clickedin,然后为检查clickedin为true的文档设置单击处理程序,如果是,则处理相应。
但是,可能有更好的方法来实现同样的目的。