我有一種情況,我使用data
屬性data-command
在整個網站的特定部分的許多情況下,而不是綁定噸的單獨的點擊事件,我決定只使用一個,並使用一個開關,如:將點擊事件綁定到通過AJAX加載而未授權的內容?
$('[data-command]').on('click', function(event) {
// Prevent default click action
event.preventDefault();
// Get command
var command = $(event.target).data('command');
switch (command) {
// Do stuff...
}
// Prevent default click action (IE 8)
return false;
});
然而,它試圖讓它在通過AJAX
加載的數據上工作時就成了一個問題。
這顯然工程..
$('#existing_element').on('click', '[data-command]', function(event) {
...但因爲它應該是在該網站上面也不會在所有頁面上工作的那一段許多不同的網頁。
我可以只要確保給出具體id
的地方,我加載我所有的Ajax數據父包裝,但是這將意味着到兩個獨立的結合事件與一羣相同的代碼。
我也可以這樣做是爲了覆蓋所有基地..
$(document).on('click', '[data-command]', function(event) {
...但是這可能不是個明智的想法結合到文檔中的元素。
編輯: Html數據通過jQuery的html
方法被加載到DOM
。
任何乾淨我可以處理這個或我應該創建兩個不同的綁定事件來處理每種情況?
你可以添加AJAX的代碼,你是如何在DOM – Tushar
添加元素'..但是這可能不是個明智的想法元素結合到document.' - 到底爲什麼? – raina77ow
@ raina77ow http://stackoverflow.com/questions/12824549/should-all-jquery-events-be-bound-to-document - 我得到的是它應該避免。 – Brett