Статьи

Различные способы запуска функции JavaScript

Я оглядывался назад на какую-то работу и думал, что было бы хорошо сделать пост о различных способах загрузки функций JavaScript (особенно foo ()) изнутри элементов HTML. Посмотрите ниже на несколько примеров.

1 — якорь голый

  • Курсор мыши может не меняться при наведении курсора в некоторых браузерах.
  • CSS может быть использован для решения этой проблемы: a {cursor: pointer; }
 ... 

2 — якорный хэш href

  • При наведении курсора мыши отображается ссылка на #
  • Страница может переместиться наверх на IE6, IE7
  ... 

3 — якорь псевдо

  • Старый способ вызова функции при нажатии на ссылку.
  • Псевдопротоколы не рекомендуются для удобства использования и доступности.
  • В настоящее время считается назад программирование из-за наплыва доступных API.
  • Это грязно, это долго, люди видят это в строке состояния, и это ничего не значит.
  • Опера не любит href = ”javascript: [что-нибудь]”
  ... 

4 — якорная псевдо пустота

  • Использование javascript: некоторые считают плохую практику.
  • Псевдопротоколы hrefs могут заставить IE включить состояние ожидания, ожидающее замены страницы, и автоматически отключить активность, требующую ресурсов.
  • javascript: [что угодно] используется для закладок.
  • Что такое JavaScript: void (0) ;?
  ... 

5 — возврат якоря ложный

  • Возвращение false приводит к тому, что href = ”#” не будет оцениваться.
  • Более безопасный метод, чем использование приведенных выше примеров псевдопротоколов, таких как переходы по страницам.
  • Возвращение может быть ненадежным в разы.
  ... 

6 — привязка довольно URL / JQuery

  • Пользователь увидит # some-real-url, когда они наведут ссылку.
  • Если JavaScript отключен, они видят что-то информативное.
  ... 

$(document).on('click', 'a.mylink', function(e)
{
     //prevent the page from going to href
     e.preventDefault();

     //run the function
     foo();
});