Функция JavaScript в href срещу onclick
Искам да стартирам проста функция на JavaScript при щракване без пренасочване.
Има ли някаква разлика или предимство между поставянето на извикването на JavaScript в атрибута href
(като този:
<a href="javascript:my_function();window.print();">....</a>
) в сравнение с поставянето му в атрибута onclick
(обвързване със събитието onclick
)?
446
3
Поставянето на функцията onclick в рамките на href би обидило онези, които твърдо вярват в разделението на съдържанието от поведението/действието. Аргументът е, че вашето html съдържание трябва да остане фокусирано единствено върху съдържанието, а не върху представянето или поведението.
Типичният път в наши дни е да се използва библиотека на javascript (напр. jquery) и да се създаде обработчик на събития, като се използва тази библиотека. Той би изглеждал по следния начин:
В допълнение към всичко това, href се показва в лентата на състоянието на браузъра, а onclick не. Мисля, че не е'удобно за потребителя да се показва javascript код там.
Лично аз смятам, че поставянето на повиквания на javascript в тага HREF е досадно. Обикновено не обръщам внимание на това дали нещо е връзка с javascript или не, а често пъти искам да отварям нещата в нов прозорец. Когато се опитам да направя това с един от тези видове връзки, получавам празна страница без нищо на нея и javascript в лентата за местоположение. Това обаче се заобикаля донякъде чрез използване на onlick.