1

所以我试图创建一个工具提示并想要它,以便在创建它时它会向正文添加一个单击事件,这样每当单击正文上的任何内容时,工具提示就会消失。从理论上讲,这会传播,因此如果用户单击链接,则工具提示将消失,用户将前往链接指向的任何地方。

我遇到的问题是由于某种原因以下不起作用。甚至在我单击任何位置之前,我都得到了“此处”,它几乎在创建工具提示后立即触发删除,因此不会出现任何工具提示。关于如何做到这一点的任何想法。

    $("a").click(function(event){
        event.preventDefault();
        $(document.body).click(function(){
            $('.tooltip').remove();
            console.log('here');
        })

        var text = $(this).attr('title');
        var tooltip = $('<div class="tooltip">' + text + '</div>');
        $(document.body).append(tooltip);
    });

这是一个 JS Fiddle: http: //jsfiddle.net/fgRTa/您应该先单击链接 2 以查看它的工作原理,否则如果您先执行链接 1,然后再执行链接 2,则主体上已经有 click 事件,所以它不会t 允许添加工具提示。从理论上讲,我希望该问题也消失,因此当我单击一次时,单击事件将被删除,但这是一个附带问题。

谢谢

4

1 回答 1

0

这是因为当您将点击处理程序添加到正文时,当前点击并没有停止传播。

尝试使用event.stopPropagation();.

一个小提琴,供您考虑http://jsfiddle.net/fgRTa/2/

于 2012-08-30T16:32:42.330 回答