如果用户点击div中的<p>text</p>
,我希望.click不执行任何操作,因为我想让div .click工作。
HTML:
<div>
<span>yes</span>
<p>text</p>
</div>
Jquery的:
<script>
$(document).ready(function() {
$("div").click(function() {
alert("woohoo!");
});
});
</script>
答案 0 :(得分:83)
$("div").click(function(e) {
if($(e.target).is('p')){
e.preventDefault();
return;
}
alert("woohoo!");
});
检查点击的目标。这样你就不需要绑定另一个事件了。
答案 1 :(得分:2)
<script>
$( document ).ready(function() {
$( "div :not(p)" ).click(function( event ) {
alert( "woohoo!" );
});
});
</script>
这意味着您不关心文本节点作为<div>
容器的子节点。
答案 2 :(得分:-2)
$("div > span").click(function() {
alert("woohoo!");
});
但是你最好为你的html元素提供id。