jQuery的textbox.val('xxxx')不会导致火灾的变化?
我的页面上有以下jQuery代码:
var isChanged = false; $(document).ready(function() { $('.change').change(function() { isChanged = true; }); });
我正在使用一个修改它所链接到的文本框的值的plugic:
target.val('xxxx');
html(来自asp.net)中的文本框是:
<input name="ctl00$cphHolder1$rptFlex$ctl01$txtLeftRank" type="text" value="52°" id="ctl00_cphHolder1_rptFlex_ctl01_txtLeftRank" class="change atiselector" />
当使用代码更改文本框的值时,更改不会触发。 如果我input文本框,更改将触发。 我错过了什么?
这是它的工作方式。 如果您需要更改值来触发“更改”事件,则可以通过以下方式明确执行此操作:
$('input#whatever').val('hi').change();
$('.change').change()
会触发事件。 只是改变属性不会触发事件。
根据DOM级别2事件规范 :
当控件失去input焦点并且自从获得焦点以来其值已经被修改时发生改变事件。
这意味着更改事件旨在通过用户交互触发更改。 程序化更改不会导致此事件被触发。