event.preventDefault, похоже, не работает ... почему?

0

Работая на местном, поэтому я не могу дать вам ссылку, но я попытаюсь объяснить ситуацию.

Я делаю сайт 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().

Как я могу это исправить?

  • 5
    просто используйте event.preventDefault(); нормализовано
  • 0
    return false ?
Показать ещё 2 комментария
Теги:

1 ответ

5

Я считаю, что тип события должен прийти первым в вашем on связывание, а затем селектор:

$(document).on("click", "a[...])", function(event) ...
  • 1
    Вау, хороший улов!
  • 0
    да! правильно! и затем я также улавливаю ошибку в ": not ([href * = / wp-admin /]): not ([href * = / wp-login.php]): not ([href $ = / feed /] ) "(я не знаю, что это за ошибка, но это не имеет значения, сейчас я просто хочу увидеть влияние моих функций ajax). Оно работает. Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню