jQuery onchange检测

Cal*_*leb 1 javascript jquery onchange

我想执行html元素的"onchange"属性中的javascript.所以..

<input id="el" type="text" onchange="alert('test');" value="" />
Run Code Online (Sandbox Code Playgroud)

使用该示例我想ert('test');通过jQuery 执行al 部分,问题是.change()事件处理程序不起作用,因为我想在另一个元素更改它的值之后执行它.所以..

$('#el').val('test');
Run Code Online (Sandbox Code Playgroud)

这是我想执行onchange的时候.在那个.valval被召唤之后.有任何想法吗?

Dom*_*nic 6

.val()不会触发change事件.您需要自己手动完成此操作.例如:

$('#el').val('test').change();
Run Code Online (Sandbox Code Playgroud)

你可以将它封装在一个小的jQuery插件中,如下所示:

(function ($) {
    $.fn.changeVal = function (text) {
        this.val(text).change();
    };
}(jQuery));

$('#el').changeVal('test');
Run Code Online (Sandbox Code Playgroud)