2012-08-26 83 views
1

我有這樣的jQuery:如何將兩個使用.on的jQuery選擇結合起來?

$('#detail') 
.on('click', '.deleteLink', function() { 
    dialog(this); 
    return false; 
}) 
$('#detail') 
.on('click', '.editLink', function() { 
    dialog(this); 
    return false; 
}) 

有沒有一種方法,這些可以合併。對不起,但我根本不知道jQuery。

+0

什麼是您的(相關)HTML? –

回答

2

同時匹配選擇,就像在CSS:

$('#detail').on('click', '.deleteLink, .editLink', function() { 
    dialog(this); 
    return false; 
}); 
4

或者使用逗號選擇它綁定到兩者的母公司:

// Instead of body, you might want a more specific common parent 
$('body').on('click', '#detailD .deleteLink, #detail .editLink', function() { 
    dialog(this); 
    return false; 
}); 

或者你可以簡單地創建一次功能:具有,

var handler = function() { 
    dialog(this); 
    return false; 
}; 
$('#detailD').on('click', '.deleteLink', handler); 
$('#detail').on('click', '.editLink', handler); 
+0

對於所有認爲他們瞭解jQuery的人來說,第二種方法是幾乎所有的代碼應該看起來像 - 匿名函數很漂亮,但它們在文檔中使用,因爲它們很容易用於小例子,而不是因爲所有代碼應該看起來像那樣! :) –

+0

對不起,我只是做了一個更正。這只是一個元素。細節而不是細節。 – Angela

1

我相信這會工作假設.deleteLink是一個兒童elemen t您的選擇器

$('#detailD > .deleteLink, #detail > .deleteLink') 
    .on('click', function() { 
     dialog(this); 
     return false; 
    });​ 

相關問題