1

我有

<input type="text" id="pies" value="" />

$( document ).ready(function() {
    $('#pies').on('change', function() { alert('cham'); });
    $('#pies').focus();
    $('#pies').val('kooooo');
    $('#pies').blur();
});

为什么浏览器不触发更改事件?如何使该浏览器触发更改事件。我不想手动触发“更改”,因为如果我要触发更改,在某些情况下会触发两次触发更改。这只是一个例子。

4

3 回答 3

1

使用以下方式调用更改:

$('#pies').change();
于 2013-07-24T14:50:02.160 回答
1

你必须手动完成

$('#pies').change();

正如文档所说

当元素的值改变时,change 事件被发送到元素。此事件仅限于元素、框和元素。对于选择框、复选框和单选按钮,当用户使用鼠标进行选择时会立即触发该事件,但对于其他元素类型,该事件会延迟到元素失去焦点为止。

在自动完成的情况下尝试做$("#pies").trigger("autocompleteselect");

于 2013-07-24T14:52:12.247 回答
0

更好地使用keypress而不是change

于 2013-07-27T08:50:47.827 回答