如何在输入值以编程方式更改时触发JQuery更改事件?

Moh*_*mad 33 html javascript jquery onchange

我想在以change编程方式更改输入文本时触发JQuery 事件,例如:

$("input").change(function(){
    console.log("Input text changed!");
});
$("input").val("A");
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' />
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我怎样才能做到这一点?

Pra*_*lan 41

只有当用户键入输入然后失去焦点时才会触发更改事件.

您需要使用change()或手动触发事件trigger('change')

$("input").change(function() {
  console.log("Input text changed!");
});
$("input").val("A").change();
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type='text' />
Run Code Online (Sandbox Code Playgroud)


kaw*_*nah 5

事件处理程序的.change()行为类似于表单提交-基本上,当提交时值更改时,控制台将记录日志。为了对文本输入产生影响,您需要使用输入,如下所示:

$("input").on('input', function(){
    console.log("Input text changed!");
});
$("input").val("A");
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' />
Run Code Online (Sandbox Code Playgroud)