假設,我們下面的標記:爲什麼不生成onChange事件?
<form>
<button type="button" id="all">check all</button>
<button type="button" id="none">check none</button>
<input type="checkbox" value="one" />
<input type="checkbox" value="two" />
<input type="checkbox" value="three" />
</form>
而且下面的JavaScript代碼:
(function($, document) {
$('#all').on('click', function() {
$('input', $(this).parent()).prop('checked', 'checked');
});
$('#none').on('click', function() {
$('input', $(this).parent()).removeProp('checked');
});
$('input').on('change', function() {
alert(this.value);
});
}(jQuery, document));
(見http://jsfiddle.net/inst/h7kyq/1/)
爲什麼不輸入的onChange事件處理程序執行時,我們點擊任何按鈕?
當使用'.prop()'上的布爾屬性,使用一個布爾值。 '.prop('checked',true)'或'.prop('checked',false)' –
除非你想永久刪除屬性,否則不要使用removeProp(),因爲你不能再次使用/添加屬性元件。閱讀http://api.jquery.com/removeProp/正如你可以告訴你的小提琴一旦你點擊刪除所有選擇所有不再功能。 –