区分用户或脚本引起的更改事件

MrJ*_*rJD 1 javascript jquery jquery-events

我遇到过一些脚本更改选择/单选/复选框的情况。这会触发更改事件。但是,我需要单独一个事件来告诉我用户更改了元素,显然,当脚本触发更改时,它会注册为用户更改。

当您更改选择/单选/复选框的值时,有没有办法防止脚本触发更改事件?

ben*_*tan 5

从代码触发事件时使用jQuery.trigger()并传递附加参数。

例如:

$('select').bind('change', function(e, isScriptInvoked) {
    if (isScriptInvoked === true) {
        // some code for when artificial
    } else {
        // some code for when organic
    }
});

// Trigger the event.
$('select').trigger('change', [true]);
Run Code Online (Sandbox Code Playgroud)