Javascript 当输入值以编程方式更改时,如何触发JQuery更改事件?
当以编程方式更改输入文本时,我想触发JQueryJavascript 当输入值以编程方式更改时,如何触发JQuery更改事件?,javascript,jquery,html,onchange,Javascript,Jquery,Html,Onchange,当以编程方式更改输入文本时,我想触发JQuerychange事件,例如: function changeTextProgrammatically(value) { $("input").val( value ); $("input").trigger( 'change' ); // Triggers the change event } changeTextProgrammatically( "A" ); $(“输入”).change(函数(){ log(“输入文本已更改!
change
事件,例如:
function changeTextProgrammatically(value) {
$("input").val( value );
$("input").trigger( 'change' ); // Triggers the change event
}
changeTextProgrammatically( "A" );
$(“输入”).change(函数(){
log(“输入文本已更改!”);
});
$(“输入”).val(“A”)代码>
仅当用户在输入中键入内容然后失去焦点时,才触发change事件
您需要使用或手动触发事件
$(“输入”).change(函数(){
log(“输入文本已更改!”);
});
$(“输入”).val(“A”).change()代码>
您需要做的是在设置文本后触发change
事件。因此,您可以创建一个函数来执行此操作,这样您就不必在每次需要更新文本时重复此操作,如下所示:
function changeTextProgrammatically(value) {
$("input").val( value );
$("input").trigger( 'change' ); // Triggers the change event
}
changeTextProgrammatically( "A" );
我已经更新了,您可以使用DOMSubtreeModified事件:
$('input').bind('DOMSubtreeModified',function(){...})
如果要同时触发用户和代码更改,请执行以下操作:
$('input').bind('input DOMSubtreeModified',function(){...})
此事件被标记为已弃用,有时相当耗费CPU时间,但如果小心使用,它也可能非常有效…事件处理程序.change()
的行为类似于表单提交-基本上当提交时的值更改时,控制台将记录。为了在文本输入上表现良好,您需要使用输入,如下所示:
$(“输入”)。在('input',function()上{
log(“输入文本已更改!”);
});
$(“输入”).val(“A”)代码>
jquery change事件仅在用户键入输入然后失去焦点时起作用。因此,您可以使用以下变通方法来执行此操作:-
假设您有一个按钮,点击它会导致输入值的变化。(这也可以是其他任何东西,而不是按钮)
在以编程方式更改输入的.val()后,是否需要调用.change()?当我以编程方式更改.val()并设置.focus()以便将光标放在增值文本的末尾时,我发现了这一点。然后单击输入的外部。它清除输入…@AkinHwan:change()
方法正在调用以编程方式触发该方法,因为val()
方法不会触发更改事件