0

我在“#id”上有一个委托的点击事件。

但是,我想知道当 event.target 不是 '#id' 时有一个功能

$(document).on('click', '#id', handler)

function handle(event){
   el.show();

 // I want to do if current click is not '#id', el.hide();

}

我知道在文档上注册一个事件可以做到这一点,但我不想像下面这样注册一个事件。有没有另一种方法可以确定目标是否不是元素?

$(document).on('click', handler)

function handle(event){
   $(event.target).is(el)
   ?  el.show()
   :  el.hide();    
}
4

2 回答 2

2

我不确定我是否完全理解这个问题,但是:

$(document).click(function (e) {
    if ($(e.currentTarget).is('#div')) {
        // this is the target div
    }
});
于 2013-02-13T06:34:21.877 回答
1

尝试使用:

document.addEventListener('click',function(e) {
  if ($(e.currentTarget).is(el)) {
    // do something
  }
});
于 2013-02-13T06:40:11.927 回答