Я унаследовал сайт DotNetNuke, который показывает модальное всплывающее окно при нажатии на ссылку «Регистрация списка рассылки»: <a href="/JoinMailingList.aspx" class="JoinMailingList">Join Mailing List</a>
. Однако на веб-сайте нет файла JoinMailingList.aspx. Однако ссылка работает (хотя и неправильно: всплывающее окно занимает весь экран, а не появляется над надписью «). Ссылка идет на следующий код JQuery, но после появления всплывающего сообщения:Ссылка на несуществующий файл .aspx работает-почему?
$(".JoinMailingList").click(function (e) {
e.preventDefault();
$(".ModalBody .Notification").remove();
$(".ModalMask").fadeTo("fast", 0.5);
$("#MailingListForm").show("fast");
});
Видимо гиперссылка использует «фальшивое» JoinMailingList.aspx сделать всплывающее окно, но как?
Вы можете перехватить событие щелчка на что угодно и обрабатывать его, как хотите. (Очень часто предотвращает обычную навигацию браузера.) Это включает ссылку, указывающую на что угодно. Это включает ссылку, указывающую на страницу, которая не существует. (Не обязательно хорошая практика: было бы лучше, если бы эта страница действительно существовала, для мифических «людей с отключенным Javascript» и для гораздо менее мифических «людей, которые открывают ссылки на новой вкладке».) – millimoose
Забудьте существование «JoinMailingList.aspx», это может быть «GoHome.aspx», и он будет делать то же самое. Эта часть ссылки игнорируется. Все, что происходит, - это элемент с идентификатором «id =» MailingListform », который отображается при нажатии на этот якорь. –