你好所以這裏是我在做什麼:困境與變化事件下拉
$("#categorys").change(function() {
//$(document).on('click', '#categorys', function(){
alert('changed or clicked');
});
當我使用.change什麼也沒有發生,沒有錯誤的JS調試器,當我使用的單擊事件的同樣的下拉它返回警報。我想是能夠提醒(this.val)一旦下拉價值變動請幫助
你好所以這裏是我在做什麼:困境與變化事件下拉
$("#categorys").change(function() {
//$(document).on('click', '#categorys', function(){
alert('changed or clicked');
});
當我使用.change什麼也沒有發生,沒有錯誤的JS調試器,當我使用的單擊事件的同樣的下拉它返回警報。我想是能夠提醒(this.val)一旦下拉價值變動請幫助
我用這個來解決這個問題:
$(document).on('change', '#categorys', function(){
alert($(this).val());
});
如果這解決了您的問題,那麼它幾乎肯定是由於到事件綁定後'#categorys'被添加到DOM的事實。原始語法是完全有效的,但要求元素在綁定時存在。通過使用'on'語法,您實際上將事件綁定到文檔,從而允許它捕獲來自動態添加元素的事件。 – Nucleon
這是因爲您使用事件委派爲您click
事件,您需要爲change
事件做同樣的:
$(document).on('change', '#categorys', function(){
alert('changed or clicked');
});
順便說一句,當你選擇了動態添加這種行爲纔會發生。
您是否將'#categorys'元素動態添加到頁面中? – Barmar
[動態創建的元素上的事件綁定?]的可能重複?(http://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements) – Barmar