Bootstrap工具提示onblur两次射击

时间:2014-04-28 15:11:10

标签: javascript jquery twitter-bootstrap twitter-bootstrap-tooltip

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,但没有运气。

1 个答案:

答案 0 :(得分:0)

每次调用initTooltip函数时,您都会附加模糊事件处理程序,因此模糊它们将被解雇。

您最终可以重新考虑您的代码或从jQuery on转移到jQuery one事件处理程序:

  

将处理程序附加到元素的事件。处理程序已执行   每个事件类型每个元素最多一次。

演示:http://jsfiddle.net/Usk3P/