Javascript Prevent по умолчанию не работает

0

Я знаю, что есть много сообщений о том, что preventDefault() не работает, но я пошел к ним и ничего не получил.

Все, что я делаю, это ловить событие click, а затем добавлять html из ответа, но preventDefault() не останавливает загрузку страницы, и я смущен почему.

Вот мой HTML:

<div class="slide_pane"> 
 <div class="profile_content"></div>

 <div class="account_bottom_bar">
  <ul class="bottom_bar_list">
    <a href="/profiles/load" class="sidebar_link">
      <li>
        <p>Content</p>
      </li>
    </a>
  </ul>
 </div>

И вот мой JS:

$(document).scroll(function() {
 ajaxView();
});

var ajaxView = function() {
 $('.sidebar_link').click(function(e) {
 e.preventDefault();
 $.ajax ({
  type: 'GET',
  url: $(this).attr("href")

  }).done(function(resp) {
   $('.profile_content').append(resp);
  });
 });
};

Но когда я ударил это действие, он просто загружает HTML из ответа на новый экран.

Есть идеи?? Благодарю!

  • 3
    Где находится элемент .sidebar_link в вашем примере? Похоже, вы добавляете новый обработчик событий в этот элемент всякий раз, когда пользователи прокручивают страницу, что очень плохо.
  • 0
    возможный дубликат якоря jQuery предотвращать дефолт
Показать ещё 2 комментария
Теги:
preventdefault

1 ответ

0
Лучший ответ

Ничего не происходит из-за отсутствия sidebar_link в вашем HTML.

Пример использования event.preventDefault():

$(document).ready(function() {
    $(".sidebar_link").click(function(event) {
        event.preventDefault();
        $(this).css("color", "red");
    });   
});

Ниже приведен пример использования event.preventDefault() для ссылок: http://jsfiddle.net/LUKVT/

  • 0
    Извините, я только что отредактировал
  • 0
    Я использую ваш код, и он не перезагружается здесь: jsfiddle.net/y4FRr Я что-то упустил?
Показать ещё 3 комментария

Ещё вопросы

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