如何使用javascript模拟o​​nclickout事件

时间:2011-03-05 02:27:06

标签: javascript-events

我想以某种方式能够使用javascript定义onclickout事件。当用户点击相关元素的任何其他位置时,就会发生这种情况。 我尝试使用onblur,但它似乎不起作用:/

还有其他方法吗? 谢谢:)

3 个答案:

答案 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');
}

jsFiddle

这会在#click处理程序的任意位置(document.onclick除外)发送一次点击,这将触发alert()

答案 2 :(得分:0)

您可以在元素的单击处理程序上设置变量clickedin,然后为检查clickedin为true的文档设置单击处理程序,如果是,则处理相应。

但是,可能有更好的方法来实现同样的目的。