我寫了javascript/jQuery的這個片段來改變一個複選框。 http://jsfiddle.net/johnhoffman/crF93/爲什麼動態更改複選框不會觸發表單更改事件?
的Javascript
$(function() {
$("a").click(function() {
if ($("input[type='checkbox']").attr('checked') == "checked")
$("input[type='checkbox']").removeAttr('checked');
else
$("input[type='checkbox']").attr('checked', 'checked');
return false;
});
$("input[type='checkbox']").change(function(){
console.log("Checkbox changed.");
});
});
HTML
<input type="checkbox" />
<a href="#">Change CheckBox</a>
有趣的是,點擊鏈接改變文本框,但不會觸發調用,在Chrome的消息記錄的函數的形式變化事件Web開發者控制檯。爲什麼?我該如何做到這一點?
[當控制失去輸入焦點並因爲其值已被修改「會發生變化事件獲得關注。「](http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-htmlevents)沒有焦點改變意味着沒有改變事件。 – 2012-04-15 03:21:15
[onchange事件不會在更改來自antoher函數時觸發](http:// stackoverflow。com/questions/7055729/onchange-event-not-fire-when-the-the-change-come-from-antoher-function) – 2012-04-15 03:22:15