我正在网站上显示链接。
当用户点击该链接时,我不希望他们立即转到该URL。相反,内联弹出框*应显示免责声明。然后,用户可以再次单击该链接以转到URL(这也将隐藏免责声明)。
我知道您可以使用Prevent Default来禁用链接的默认操作(因此不会将用户带到任何地方)。
我知道您可以使用toggle()来显示/隐藏弹出框。
但是,我不确定如何切换以防止默认。
这是我的jQuery代码(JS Fiddle是here)
(function($) {
$(document).ready(function() {
"use strict";
$(".ui-popbox a").click(function(e) {
e.preventDefault();
$("[class^='ui-popbox-']").fadeToggle();
});
});
})(jQuery);
通过“内联弹出框”我指的是出现在HTML文档中的框。我不是指弹出窗口。
答案 0 :(得分:1)
您可以将数据对象传递到事件处理程序,以检查是否在jQuery中弹出免责声明,如下所示:
$(".ui-popbox a").click({popped: false}, function (e) {
if (!e.data.popped) {
e.preventDefault();
$("[class^='ui-popbox-']").fadeToggle();
e.data.popped = true;
}
});
对象的值将保留在事件之间。