JQuery live和html click事件的问题

时间:2011-07-06 11:54:26

标签: jquery

我遇到了JQuery live()函数的问题。 我已经建立了一个带有点击事件的共享链接,如果你点击链接,它会弹出一个带有短URL和类似按钮的div。 共享链接位于弹出div容器(z-index)上,如果再次单击它,则弹出div应该消失。 但是当您在弹出式div之外单击时,弹出式div也应该消失。

这里是JSFiddle的链接(如果你用bind替换live它工作正常,但我需要live函数)。 http://jsfiddle.net/Borsti/MXyGR/

JS-Code额外:

$('.share').live('click', function(event) {
        var button = $(this);
        var container = $(this).next('.sharecontainer');
        var mouse_is_inside = false;
        //alert("clicked!");
        container.toggle();
        button.toggleClass('sel');

        container.hover(function(){
            mouse_is_inside = true;
        }, function(){
            mouse_is_inside = false;
        });

        $('html').click(function() {
            if(!mouse_is_inside) {
            container.hide();
            button.removeClass('sel');
            }
        });
        return false;                
});

我希望你能理解我,我的英语不是最好的;)

2 个答案:

答案 0 :(得分:1)

好吧,当使用live()作为链接时,您还必须将其用于全局html

$('html').live("click", function() {
    if (!mouse_is_inside) {
        container.hide();
        button.removeClass('sel');
    }
});

更新了jsFiddle:http://jsfiddle.net/MXyGR/3/

答案 1 :(得分:0)