【发布时间】:2019-06-28 10:46:45
【问题描述】:
我有一个.change() 事件用于一些输入和一个 AJAX 调用。当我更改输入的值时,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;
}
但我认为它更多是一种解决方法而不是解决方案。
【问题讨论】:
-
我看到了这个问题,然后检查了我的代码中是否存在具有相同 ID 的重复输入 - 没有。
-
请提供一个正确的minimal reproducible example 来显示您的问题。
-
该字段是一个引导 datimepicker 时间输入。
标签: javascript jquery ajax events dom-events