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