如何为javascript更改输入值触发事件

问题描述 投票:3回答:1

我有一个简单的select html元素,我能够附加/触发事件change,并在手动使用更改时触发,但是当我使用javascript更改值时。它没有解雇事件。通过一些谷歌搜索和研究我意识到,change事件不会触发javascript更改值。

那么,我如何通过javascript跟踪价值变化的事件。我知道propertychange适用于IE浏览器。但我想在Chrome中跟踪这个。有办法吗?

这是我正在使用的代码

<select id="state">
    <option>listening</option>
    <option>reading</option>
    <option>idle</option>
</select>
  // this code doesnt trigger event for javascript changed values in chrome
  $('#state').bind('propertychange change click keyup input paste', function(){
    var new_state = $(this).val();
    console.log("state changed to ", new_state);
});
javascript jquery google-chrome jquery-events
1个回答
0
投票

您可以通过呼叫他来发起javascript事件。像这样:

$('btn').click(); // this will simulate a click

所以你可以这样做:

$('yourselector').change();

或者您可以使用Trigger()(较慢)并执行以下操作:

$('your selector').trigger( "change" );
© www.soinside.com 2019 - 2024. All rights reserved.