因此,对于某些输入和AJAX调用,我有一个.change()事件。当我更改输入的值时,将两次调用AJAX方法,并两次触发.change()事件。但是当我放一个“调试器”时或文件中的断点仅被调用一次。
我已经记录了事件变量,对于第一次调用.isTrigger不存在,但是对于第二次调用,它分配的值为3。 我无法跟踪第二个呼叫/触发器来自何处。有人知道吗?
$('#inputField').change(function(e) {
console.log(e);
// first call e.isTrigger is 'undefined'
// second call e.isTrigger is '3'
});
我为防止第二次呼叫所做的是:
if ($(this).attr('id') == 'inputField' && typeof(e.isTrigger) != 'undefined') {
e.preventDefault();
e.stopPropagation();
return;
}
但是我更多地将其视为解决方法,而不是解决方案。
答案 0 :(得分:0)
选择器一定有问题。对于选择标签,某些插件会创建虚拟选择输入和div,因此请尝试
$('select#inputField').on('change', function(){
}
另外,检查多个jquery文件或更新jquery版本(如果可行)。