我遇到过某些脚本更改select / radio / checkbox的情况。这引发了变革事件。但是,我需要单独一个事件来告诉我用户更改了元素。显然,当从脚本触发更改时,它会注册为用户更改。
当您更改select / radio / checkbox的值时,有没有办法阻止脚本触发更改事件?
答案 0 :(得分: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]);
答案 1 :(得分:0)
尝试:
function changeEvent(){
if(this.type.toLowerCase()=='select' || this.type.toLowerCase()=='radio' || this.type.toLowerCase()=='checkbox')
return false;
else{
//Your code here
}
}