jQuery отключает ссылку

Вы должны только стараться использовать сложную для чтения / понимания оптимизацию, если она абсолютно необходима.

Проблема с

int sign = Math.signum(a);

может заключаться в том, что он возвращает 0, если 0.0 == a

Но вы должны полагаться на существующие библиотечные функции, когда это возможно, чтобы ваш код был легко читаемым / понять.

Если вы хотите 1 для 0.0 == a, что об этом:

int sign = (0>a)?-1:1;
276
задан Leo 18 April 2010 в 12:56
поделиться

3 ответа

$('#myLink').click(function(e) {
    e.preventDefault();
    //do other stuff when a click happens
});

Это предотвратит поведение гиперссылки по умолчанию, которое заключается в посещении указанного href.

Из учебника jQuery :

Для щелчка и большинства других события, вы может предотвратить поведение по умолчанию - здесь по ссылке на jquery.com - вызвав event.preventDefault () в обработчике событий

. Если вы хотите preventDefault () только при выполнении определенного условия (например, что-то скрыто), вы можете проверить видимость вашего ul с расширенным классом . Если он виден (т.е. не скрыт), ссылка должна активироваться как обычно, поскольку оператор if не будет введен, и, таким образом, поведение по умолчанию не будет предотвращено:

$('ul li').click(function(e) {
    if($('ul.expanded').is(':hidden')) {
        e.preventDefault();
        $('ul').addClass('expanded');
        $('ul.expanded').fadeIn(300);
    } 
});
357
ответ дан 23 November 2019 в 02:06
поделиться

Просто активируйте материал, установите какой-нибудь флаг, верните false. Если флаг установлен - ничего не делать.

2
ответ дан 23 November 2019 в 02:06
поделиться

Попробуйте следующее:

$("a").removeAttr('href');

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

Из вашего обновленного кода:

 var location= $('#link1').attr("href");
 $("#link1").removeAttr('href');
 $('ul').addClass('expanded');
 $('ul.expanded').fadeIn(300);
 $("#link1").attr("href", location);
104
ответ дан 23 November 2019 в 02:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: