I have been reading through S.O我发现模糊事件被许多人调用了两次。说实话,我只是不明白为什么。
JavaScript的:
// call tooltip
initTooltip($element, {'trigger': 'manual', 'placement': 'bottom', 'title': Messages[$element.id + 'Required']});
initTooltip: function($element, options) {
console.log('--- initTooltip ---'); // this is getting executed 1x
$('#' + $element.id).tooltip({
'placement': options.placement,
'title': options.title,
'trigger': options.trigger
}).on({
'blur': function() {
console.log('ON BLUR EVENT'); // this is getting executed 2x.
$('#' + $element.id).tooltip('show');
}
});
我的参数正确输入,当我记录所有内容时,我的消息都是正确的。只是不确定如何绕过模糊事件两次执行。
我也尝试使用focusout
,但没有运气。
答案 0 :(得分:0)
每次调用initTooltip
函数时,您都会附加模糊事件处理程序,因此模糊它们将被解雇。
您最终可以重新考虑您的代码或从jQuery on
转移到jQuery one
事件处理程序:
将处理程序附加到元素的事件。处理程序已执行 每个事件类型每个元素最多一次。