Работая на местном, поэтому я не могу дать вам ссылку, но я попытаюсь объяснить ситуацию.
Я делаю сайт WordPress, и я создаю ajax-запросы, чтобы сделать внутреннюю ссылку на сайте загружаться в основную область содержимого главной страницы.
Вот весь сценарий, который я использую
jQuery(document).ready(function($) {
//individua il container in cui sarà caricata la pagina
var $mainContent = $("#main-wrapper"),
//individua l'url "madre"
siteUrl = "http://" + top.location.host.toString(),
url = '';
$(document).on("a[href^='"+siteUrl+"']:not([href*=/wp-admin/]):not([href*=/wp-login.php]):not([href$=/feed/])", "click", function(event) {
location.hash = this.pathname;
if ( event.preventDefault ) {
event.preventDefault();
} else {
event.returnValue = false;
}
});
$(window).bind('hashchange', function(){
url = window.location.hash.substring(1);
if (!url) {
return;
}
url = url + " #content";
$mainContent.animate({opacity: "0.1"}).html('<p>Please wait...</>').load(url, function() {
$mainContent.animate({opacity: "1"});
});
});
$(window).trigger('hashchange');
})
В нескольких словах вы можете увидеть, как я пытаюсь "отключить" ссылку: я хочу, чтобы избежать загрузки ссылки на внешнюю страницу
Ошибка, которую я получаю в консоли:
event.returnValue устарел. Вместо этого используйте стандартное событие event.preventDefault().
Как я могу это исправить?
Я считаю, что тип события должен прийти первым в вашем on
связывание, а затем селектор:
$(document).on("click", "a[...])", function(event) ...
event.preventDefault();
нормализованоreturn false
?