如何将jQuery outside事件插件的事件绑定到多个元素?

时间:2011-06-17 20:27:54

标签: jquery

我正在使用Ben Alman's outside events plugin关闭模式窗口,当用户点击它时。这很有效,直到我需要在模态中使用jQuery UI的datepicker。由于构成窗口小部件的元素未放置在模态内,因此在选择日期时模式会关闭,这是正确的行为。为了解决这个问题,我做了以下几点:

$('#modal-window, #ui-datepicker-div').one('clickoutside', function(){

    // close the modal window

});

这只会导致模态窗口在单击时关闭。

1 个答案:

答案 0 :(得分:1)

从您在问题中链接的页面

  

请注意,您还可以在事件处理程序逻辑中使用event.target属性,该属性引用所单击的实际元素。如果您想将点击的“外部”限制为某些元素或容器,这可能很有用。

我会使用event.targetclosest来查找该链接是否在日期选择器中。

$('#modal-window').one('clickoutside', function(event) {
    if (!$(event.target).closest('#ui-datepicker-div').length) {
        $(this).hide(); // or whatever code you have for hiding the modal window
    }
});