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

时间:2018-02-28 15:48:57

标签: javascript jquery google-chrome jquery-events

我有一个简单的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);
});

1 个答案:

答案 0 :(得分:0)

你可以通过给他发起一个javascript事件。像这样:

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

所以你可以这样做:

$('yourselector').change();

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

$('your selector').trigger( "change" );