Я оглядывался назад на какую-то работу и думал, что было бы хорошо сделать пост о различных способах загрузки функций 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();
});