如果你在div元素上放了一个.click(),你在div中有一个输入元素..如果用户点击输入,你怎么能省略.click()?
div.click()只需在用户单击div内部但在输入元素外部时触发
<div style="width:400px; height:200px"> <input type="text" style="width:50px" /> </div>
解决方法
你有两个选择:
将click事件处理程序附加到input元素,并通过调用event.stopPropagation()
[docs]来阻止事件冒泡:
$('input').click(function(event) { event.stopPropagation(); });
要么
检查附加到div的click事件处理程序中的event.target
[docs]是否目标是输入元素.就像是:
if(event.target.nodeName !== 'INPUT') { // do something }