2014-07-11 29 views
1

是否可以通過事件目標來檢查哪個元素被點擊?Jquery - 如何檢查哪個元素被點擊與事件目標?

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

我嘗試了以下建築,但似乎並不奏效,一樣:

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

我只是不知道是否有可能事件目標檢查類似的東西。

+1

檢查這方面的工作小提琴:http://jsfiddle.net/Sh6u8/ 1/ – Superdrac

+1

第二個示例應該可以工作,只是您沒有將該事件參數傳遞給該函數。它應該是功能(e){... –

回答

3

你必須指定你點擊的元素在哪裏。比方說,我們有這個網站:

HTML

<div></div> 

JS

$("body").on("click", 
      function(e){ 
       if($(e.target).is("input")) 
         console.log(e.target)     
      }); 

fiddle

,或者如果你想使用純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 
    } 

fiddle

2

您應該像e。一樣通過event。檢查點擊的元素有輸入或不使用選擇在jQuery的

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

is()選擇在jQuery的

2

使用document的選擇和參數添加事件e到功能:

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

Demo

相關問題