2013-11-25 54 views
-1

條件: 我有一個div cass =「myDiv」在體內。事件停止不工作在jquery

行動:

  1. 當我點擊的身體。函數abc()將被調用。
  2. 當我點擊(.myDiv)時,它會調用函數xyz()。

問題: 點擊身體按預期工作。

但是當我點擊(.myDiv)它調用xyz(),但它也會調用函數abc()。

我不想在我們點擊(.myDiv)時調用abc()。

可能是我們可以使用stop(),但它不適合我。

<style> 
.mydiv{ 
    height:200px; 
    width:200px; 
    background:#D00E11; 
} 
</style> 
<script> 
$(document).ready(function() { 
    $('body').click(function(e){ 
     alert(1); 
    }); 
$(".myDiv").click(function(e){ 
    e.stopPropagation(); 
}); 
}); 
</script> 
</head> 

<body> 
<div class="mydiv"></div> 
</body> 
+1

哪裏是代碼? – adeneo

+0

@ ^,在他的電腦裏;) – Jashwant

+0

現在我已經附上了代碼。 – Saurabh

回答

0

這裏的問題是,你正在使用錯誤的選擇。

<div class="mydiv"></div> 

變化:

$(".myDiv").click(function(e){ //Wrong $(".myDiv") 
    e.stopPropagation(); 
}); 

要:

$(".mydiv").click(function(e){ //should be $(".mydiv") 
    e.stopPropagation(); 
}); 
4
$(".mydiv").click(function(e){ 
    e.stopPropagation(); 
}); 

參考event.stopPropagation

+0

我已經嘗試,但它不工作。 – Saurabh

+0

你可以設置提琴然後我會幫你 –

+0

http://jsfiddle.net/saurabhdsachan/5Ynja/ – Saurabh