一部のスクリプトが選択/ラジオ/チェックボックスを変更する状況に遭遇しました。これにより、変更イベントが発生します。ただし、ユーザーが要素を変更したことを知らせるイベントが別途必要です。そして明らかに、スクリプトから変更が発生すると、ユーザー変更として登録されます。
select/radio/checkbox の値を変更したときにスクリプトが変更イベントを発生させないようにする方法はありますか?
一部のスクリプトが選択/ラジオ/チェックボックスを変更する状況に遭遇しました。これにより、変更イベントが発生します。ただし、ユーザーが要素を変更したことを知らせるイベントが別途必要です。そして明らかに、スクリプトから変更が発生すると、ユーザー変更として登録されます。
select/radio/checkbox の値を変更したときにスクリプトが変更イベントを発生させないようにする方法はありますか?
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]);
試す:
function changeEvent(){
if(this.type.toLowerCase()=='select' || this.type.toLowerCase()=='radio' || this.type.toLowerCase()=='checkbox')
return false;
else{
//Your code here
}
}