отменить привязку (т. е. запретить элементу пересылать пользователя в значение href) jQuery - PullRequest
0 голосов
/ 12 июня 2011

То, что я хочу сделать, - это остановить кликабельную ссылку от переадресации пользователя к значению href, когда я вызываю значение через .load ().

Вот мой код;

$('#prac_slider li a').click(function(){
    var $permalink = $('#prac_slider li a').attr('href');
    $('div#abc').load($permalink + ' #loadMe');
});

Я попытался добавить .unbind('click', variable); к элементу и загрузить приведенный выше код через переменную, но все равно кажется, что он перенаправляет пользователя.

Все остальное работает, он загружает данные в #abc, но затем перенаправляет пользователя на сам href.

Как мне отключить это?

1 Ответ

2 голосов
/ 12 июня 2011

Использование return false:

$('#prac_slider li a').click(function(){
    var $permalink = $('#prac_slider li a').attr('href');
    $('div#abc').load($permalink + ' #loadMe');
    return false;
});

Это предотвращает выполнение действия по умолчанию, в случае a это предотвращает переход по ссылке, в случае флажка предотвращает снятие / установку флажка.

Вы также можете использовать event.preventDefault():

$('#prac_slider li a').click(function(event){
    event.preventDefault();
    var $permalink = $('#prac_slider li a').attr('href');
    $('div#abc').load($permalink + ' #loadMe');
});

Как указал Т.Дж. Crowder, в комментариях ниже, event.preventDefault() и return false эквивалентны , а не : return false равен event.preventDefault и event.stopPropagation() (последний из которых предотвращает событие всплывающее дерево DOM).

Справка:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...