остановить прокрутку страницы при нажатии на вкладку

0

Я создаю некоторые вкладки jquery, всякий раз, когда я нажимал на нее, она всегда прокручивается вверх,

вот мой html,

<div id="my_div">
    <ul>
       <li><a href="#tab_1">Tab-1</a></li>
       <li><a href="#tab_2">Tab-2</a></li>
       <li><a href="#tab_3">Tab-1</a></li>
    </ul>
</div>

Я пробовал до сих пор,

$('#my_div a').click(function(e) {
 e.preventDefault();
});

Это не помогло, что я делаю неправильно здесь. Пожалуйста помоги!

РЕДАКТИРОВАТЬ

<div id="tab_1" class="tab-content">
    <p>tab 1 goes here..</p>
</div>
<div id="tab_2" class="tab-content">
    <p>tab 2 goes here..</p>
</div>

$(document).ready(function(e) {
    $('#my_div').createTabs();
});
  • 0
    Можете ли вы поделиться JSFiddle вашего рабочего кода
  • 1
    По твоему вопросу трудно понять, что именно идет не так. Пожалуйста, добавьте больше информации, например, что прокручивать вверх и так далее.
Показать ещё 1 комментарий
Теги:

2 ответа

0

Я не уверен, что jQuery делает за кулисами, но поведение браузера пинается, поэтому, когда у вас есть href С#, он прокручивает элемент на этой странице с идентификатором, который соответствует #.

Возможно, попробуйте:

$('#my_div a').click(function(e) {
    return false;
});
  • 0
    уже пробовал, не сработало
0

Попробуйте обернуть свой код в готовом блоке doc:

$(function(){ // doc ready starts
   $('#my_div').on('click', 'a', function(e) {
     e.preventDefault();
   });
});// doc ready ends

используйте синтаксис делегирования событий.

  • 0
    уже делаю то же самое.
  • 0
    смотрите обновления.

Ещё вопросы

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