如果你在一個div元素上加了一個.click(),並且你在div中有了一個輸入元素,那麼如果用戶點擊這個元素,你怎麼能省略.click()輸入?click - only on「direct」onclicks
的div.click()只需要觸發時,DIV中的用戶點擊,但輸入元素
<div style="width:400px; height:200px">
<input type="text" style="width:50px" />
</div>
如果你在一個div元素上加了一個.click(),並且你在div中有了一個輸入元素,那麼如果用戶點擊這個元素,你怎麼能省略.click()輸入?click - only on「direct」onclicks
的div.click()只需要觸發時,DIV中的用戶點擊,但輸入元素
<div style="width:400px; height:200px">
<input type="text" style="width:50px" />
</div>
之外你有兩個選擇:
附上click
事件處理程序輸入元素,防止冒泡事件通過調用event.stopPropagation()
[docs]:
$('input').click(function(event) {
event.stopPropagation();
});
OR
檢查連接到div
的click
事件處理程序中的event.target
[docs]目標是否爲input
元素。喜歡的東西:
if(event.target.nodeName !== 'INPUT') {
// do something
}
您可以使用此:
if(event.toElement != this)
return;
從來不知道'event.stopPropagation();'很不錯的,+ 1 = P –