Jquery-如何检查使用事件目标单击了哪个元素?

Jquery-如何检查使用事件目标单击了哪个元素?,jquery,Jquery,是否可以检查使用事件目标单击了哪个元素 e.on('click', function(){ if(!$(e.target) == 'input'){ //do something } }); 我尝试了以下构造,但似乎不起作用,如下所示: e.on('click', function(){ if(!$(e.target).is('input')){ //do something } }); 我只是不知道事件目标是否可以检查类似的内

是否可以检查使用事件目标单击了哪个元素

e.on('click', function(){
    if(!$(e.target) == 'input'){
        //do something
    }
});
我尝试了以下构造,但似乎不起作用,如下所示:

e.on('click', function(){
    if(!$(e.target).is('input')){
        //do something
    }
});

我只是不知道事件目标是否可以检查类似的内容。

您应该像e一样通过
事件。要检查单击的元素是否有输入,请在jquery中使用is选择器

$("selector").on('click', function(e){
    if(!$(e.target).is('input')){
    //do something
}
});

jquery中的选择器

绝对正确!以下是一个例子-


必须指定单击的图元的位置。假设我们有这个html:

html

<div></div>

纯JS

document.onclick = function(evt) {
    var evt=window.event || evt; // window.event for IE
    if (!evt.target) evt.target=evt.srcElement; // extend target property for IE
    alert(evt.target); // target is clicked
}

使用
文档
作为选择器,并将事件
e
作为参数添加到函数中:

$(document).on('click', function(e){
    if(!$(e.target).is('input')){
       alert('yes');
    }
});

检查此工作小提琴:第二个示例应该可以工作,只是您没有将事件参数传递给函数。它应该是函数(e){。。。
document.onclick = function(evt) {
    var evt=window.event || evt; // window.event for IE
    if (!evt.target) evt.target=evt.srcElement; // extend target property for IE
    alert(evt.target); // target is clicked
}
$(document).on('click', function(e){
    if(!$(e.target).is('input')){
       alert('yes');
    }
});