0

我在网站上显示链接。

当用户单击链接时,我不希望他们立即访问 URL。相反,内嵌弹出框* 应带有免责声明。然后,用户可以再次单击该链接以转到 URL(这也将隐藏免责声明)。

我知道您可以使用“ Prevent Default”来禁用链接的默认操作(因此它不会将用户带到任何地方)。

而且我知道您可以使用toggle()来显示/隐藏弹出框。

但是,我不确定如何切换防止默认值。

这是我的 jQuery 代码(JS Fiddle 在这里

(function($) {
    $(document).ready(function() {
        "use strict";
        $(".ui-popbox a").click(function(e) {
            e.preventDefault();
            $("[class^='ui-popbox-']").fadeToggle();
        });
    });
})(jQuery);

“内联弹出框”是指出现在 HTML 文档中的框。我不是说弹出窗口。

4

1 回答 1

1

您可以将数据对象传递给事件处理程序,以检查 jQuery 中是否弹出免责声明,如下所示:

$(".ui-popbox a").click({popped: false}, function (e) {
    if (!e.data.popped) {
        e.preventDefault();
        $("[class^='ui-popbox-']").fadeToggle();
        e.data.popped = true;
    }
});

http://jsfiddle.net/HZsQv/6/

对象的值将在事件之间保留。

于 2013-05-19T12:45:08.517 回答