2017-04-12 62 views
0

我有一個jQuery Selector。這一個正在工作。jQuery Selector不工作

var table_1 = '#table_1 td'; 

$(table_1).keyup(function(){ 
    //Some Array Push 
}); 

這一個不是。我的語法有錯嗎?

var table_1; 

$('#add_button').click(function(){ 
    table_1 = '#table_1 td'; 
}); 

$(table_1).keyup(function(){ 
    //Some Array Push 
}); 

回答

1

語法很好,但邏輯有缺陷。在第二個示例中,代碼運行時(並且綁定了keyup函數)table_1undefined。由於jQuery選擇器沒有選擇任何元素,它們甚至不會被綁定到任何東西。直到點擊事件運行,您纔會定義table_1

+0

假設點擊事件發生了,仍然選擇器不工作。但是我發現了一個解決我的問題的方法。謝謝。 – Jhay

2

這不是在第二個例子中,因爲工作的原因keyup事件已與undefined作爲綁定變量TABLE_1只有點擊後,即可獲取價值。

沒有必要將table_1作爲var並使用它。而不是你可以綁定和解除綁定事件,如果你不想讓它們運行。

$('#add_button').click(function(){ 
    $('#table_1 td').on('keyup',function(){ 
    //Some Array Push 
    }); 
}); 
1

因爲您在'#add_button'函數中給了table_1 var一個值。 在調用keyup事件偵聽器之前,您需要給它一個值。