Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery切换防止链接上的默认值_Jquery - Fatal编程技术网

Jquery切换防止链接上的默认值

Jquery切换防止链接上的默认值,jquery,Jquery,我正在网站上显示链接 当用户单击链接时,我不希望他们立即转到URL。相反,应该出现一个内嵌弹出框*,其中包含一条免责声明。然后,用户可以再次单击链接以转到URL(这也将隐藏免责声明) 我知道您可以使用来禁用链接的默认操作(因此它不会将用户带到任何地方) 我知道你可以用它来显示/隐藏弹出框 但是,我不确定如何切换“防止默认” 这是我的jQuery代码(JS FIDLE是) 通过“内联弹出框”,我指的是出现在HTML文档中的框。我不是指弹出窗口 您可以将数据对象传递到事件处理程序,以检查jQuery

我正在网站上显示链接

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

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

我知道你可以用它来显示/隐藏弹出框

但是,我不确定如何切换“防止默认”

这是我的jQuery代码(JS FIDLE是)


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

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

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


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

您可以创建一个包含event.preventDefault()调用的单独处理程序函数,然后只需绑定和解除绑定即可。感谢您的帮助!我只是想了解这段代码是如何工作的:您创建了一个名为Popped的变量,该变量的默认值为false。单击链接时,将此变量设置为true。当变量设置为true时,if语句中的任何代码都不会运行。对吗?谢谢
$(".ui-popbox a").click({popped: false}, function (e) {
    if (!e.data.popped) {
        e.preventDefault();
        $("[class^='ui-popbox-']").fadeToggle();
        e.data.popped = true;
    }
});