2012-06-15 26 views
0

我有這樣一個div點擊...如何分離與jQuery

<div class="user"> 
    <div class="info"> 
    ..... 
    </div> 
    <div class="edit"> 
     Edit 
    </div> 
</div> 

jQuery的我有這樣的事情:

$('user').click(function(){...}); 
$('edit').click(function(){...}); 

如果我點擊「編輯」兩個功能執行,我不希望那樣,如果我點擊「編輯」,只有他的功能應該發生。 關於如何區分這2個函數的任何想法?

感謝

回答

4
$('.edit').click(function(e){ 
    e.stopPropagation(); 
}); 

你的選擇是錯誤的,你有一流的名字,像.edit.user之前把.

這裏更多Class Selectors

.stopPropagtion()

您可以使用.on太喜歡這將動態添加元素工作太

$('body').on('click','.edit',function(e){ 
      e.stopPropagation(); 
}); 

注意

您可以用替代body y永遠存在於dom中的靜態父項。父元素越接近,它執行的就越好。

+1

關於選擇器的好消息。儘管如此,我建議使用['$(document).on('click','.edit',func)'](http://api.jquery.com/on/),因爲看起來元素出現不止一次,可能會動態添加。 –

+0

@RobW,謝謝,補充說。 –

0

首先你需要糾正你的選擇器。您需要使用.#來表示名稱前面的ID或類別。

$(".edit").click(function(e){ 
    e.stopPropagation(); 
});