在 JavaScript 中设置输入值时引发哪个事件

Abb*_*ekr 3 javascript jquery jquery-events

当在 JavaScript 中设置输入值时引发哪个事件?我尝试了这些事件:( propertychange change keypress paste focus textInput input keyup keydown change)。例如:

$('input').live/bind/on('which event', function() {
    //...
});
$('input')[0].value = "sd";
Run Code Online (Sandbox Code Playgroud)

Mat*_*ert 5

当您以编程方式设置该值时,不会引发任何事件。不过你可以自己提出:

$('input')[0].value = "sd";
$('input').first().trigger("change");
Run Code Online (Sandbox Code Playgroud)

或者只使用 jQuery:

$('input').first().val("sd").trigger("change");
Run Code Online (Sandbox Code Playgroud)

  • 一样的。不带参数的change函数只是`.trigger("change")`的简写。我认为使用触发器可以更清楚地了解正在发生的事情(更改事件在元素上触发),但您可以使用您认为更容易阅读的任何一个。 (2认同)