Що стосується javascript , одна відмінність полягає в тому, що this
ключове слово в onclick
обробнику буде посилатися на елемент DOM, onclick
атрибутом якого він є (в даному випадку <a>
елемент), тоді як this
в href
атрибуті буде посилатися на window
об'єкт.
Що стосується подання , якщо href
атрибут відсутній у посиланні (тобто <a onclick="[...]">
), то за замовчуванням браузери відображатимуть text
курсор (а не часто бажаний pointer
курсор), оскільки він трактує <a>
як якор, а не посилання.
З точки зору поведінки , коли вказується дія за допомогою навігації черезhref
, браузер, як правило, підтримує відкриття цього href
вікна в окремому вікні, використовуючи або ярлик, або контекстне меню. Це неможливо, якщо вказати дію лише через onclick
.
Однак якщо ви запитуєте, який найкращий спосіб отримати динамічну дію від клацання об’єкта DOM, то найкращим способом є приєднання події за допомогою javascript, окремо від вмісту документа. Ви могли це зробити різними способами. Поширений спосіб - використовувати бібліотеку javascript, наприклад jQuery, для прив'язки події:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<a id="link" href="http://example.com/action">link text</a>
<script type="text/javascript">
$('a#link').click(function(){ /* ... action ... */ })
</script>