代码只执行一次但应该继续

时间:2012-07-03 23:11:31

标签: javascript jquery

下面的代码可以防止弹出窗口在鼠标悬停时关闭,或按钮,但是,它只在重新加载时工作一次然后停止工作。

$('.popover3-test').popover({
    placement:'bottom',
    template: $('.popover2'),
    trigger: 'manual',

    }).mouseenter(function(e) {
    $(this).popover('show');

    var t = null;

    $(".popover2, .popover3-test")
        .mouseleave(function() {
            t = setTimeout(function() {
                $('.popover2').hide();
            }, 1000); // Or however many milliseconds
        })
        .mouseenter(function() {
            if(t !== null)
                clearTimeout(t);
         });
    });

演示:http://jsfiddle.net/MnpWV/1/

1 个答案:

答案 0 :(得分:1)

试试这个:

$(".popover2, .popover3-test")
        .mouseleave(function() {
           $('.popover2').delay(1000).fadeOut('1000');
        }
});

http://jsfiddle.net/MnpWV/8/

更新

$(".popover2").hover(function(e) {
    $(this).show()
}, function() {
    $('this').delay(1000).fadeOut('1000');
})

http://jsfiddle.net/MnpWV/16/

删除触发.popover3-test事件的mouseleave