我遇到了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;
});
我希望你能理解我,我的英语不是最好的;)
答案 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)