@GreenMan1899

Можно ли написать код лаконичнее?

$('a').click(function(e) {
  var attr = $(this).attr('href');
  if (!attr) {
      e.preventDefault();
  }
});
  • Вопрос задан
  • 263 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Переписать код короче – можно:
$("a").click( function(e){ $(this).attr('href') || e.preventDefault() });


Если поясните, чего добиваетесь таким кодом, можно предложить решение лучше.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
evgeniy8705
@evgeniy8705
Повелитель вселенной
// Лаконичнее этот вакуумный кусок кода написать на pure JS: (Но это не лучшая практика, делать так все таки не стоит)

[...document.querySelectorAll("a")].forEach(link => link.addEventListener("click", event => {
  event.preventDefault();
}, false));

// К тому же...Либо вы используете ссылки с href, либо используете другие компоненты, например button. 
// Ссылка она на то и ссылка, что должна куда то ссылаться.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы