js click delegate确定是否不是元素

时间:2013-02-13 06:27:00

标签: javascript jquery events

我在'#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();    
}

2 个答案:

答案 0 :(得分:2)

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

$(document).click(function (e) {
    if ($(e.currentTarget).is('#div')) {
        // this is the target div
    }
});

答案 1 :(得分:1)

尝试使用:

document.addEventListener('click',function(e) {
  if ($(e.currentTarget).is(el)) {
    // do something
  }
});