【发布时间】:2013-11-13 22:09:41
【问题描述】:
我继承了一个 DotNetNuke 网站,该网站在单击“加入邮件列表”超链接时显示模式弹出窗口:<a href="/JoinMailingList.aspx" class="JoinMailingList">Join Mailing List</a>。但是,该网站没有 JoinMailingList.aspx 文件。然而链接仍然有效(虽然不正确:弹出窗口占据了整个屏幕,而不是出现在“首屏”)。该链接转到以下 jQuery 代码,但在弹出窗口显示之后:
$(".JoinMailingList").click(function (e) {
e.preventDefault();
$(".ModalBody .Notification").remove();
$(".ModalMask").fadeTo("fast", 0.5);
$("#MailingListForm").show("fast");
});
显然超链接使用“假”JoinMailingList.aspx 来弹出,但是如何?
【问题讨论】:
-
你可以拦截任何东西上的点击事件,并随心所欲地处理它。 (通常会阻止常规浏览器导航。)这包括指向任何内容的链接。这包括指向不存在的页面的链接。 (但不一定是一个好习惯:最好该页面确实存在,对于神话般的“禁用 Javascript 的人”,以及不那么神话般的“在新标签中打开链接的人”。)跨度>
-
忘记
JoinMailingList.aspx的存在,它可能是GoHome.aspx,它会做同样的事情。链接的那部分被忽略了。所发生的一切是在单击该锚点时显示带有id="MailingListform"的元素。
标签: jquery dotnetnuke modalpopup