我有一个简单的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);
});
答案 0 :(得分:0)
你可以通过给他发起一个javascript事件。像这样:
$('btn').click(); // this will simulate a click
所以你可以这样做:
$('yourselector').change();
或者您可以使用Trigger()(较慢)并执行以下操作:
$('your selector').trigger( "change" );