1

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

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

4

2 回答 2

4

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]);
于 2012-05-09T00:56:02.273 回答
0

尝试:

function changeEvent(){
    if(this.type.toLowerCase()=='select' || this.type.toLowerCase()=='radio' || this.type.toLowerCase()=='checkbox')
        return false;
    else{
        //Your code here
    }
}
于 2012-05-09T00:52:07.237 回答