如果你在一个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 –