Из-за ограничений, хотя я вообще этого избегаю, в определенной ситуации мне приходится использовать синтаксис javascript: в атрибуте href тега achor.
(ОБЪЯСНЕНИЕ: В моей CMS я использую редактор форматированного текста, чтобы позволить пользователю вносить изменения в текстовые элементы, включая ссылки. В некоторых случаях требуются специальные вызовы javascript:, и я полностью запретил onclick в функциях редактирования ссылок (чтобы упростить процесс для пользователя). Однако, когда одна из ссылок появляется в блоке, который реагирует на событие onclick, происходит двойное срабатывание)
Как это:
<a href="javascript:doSomething()"></a>
Моя проблема в том, что эта ссылка находится внутри контейнера, который уже реагирует на событие onclick. Поэтому я хотел передать объект события методу doSomething(), чтобы затем использовать jQuery.
event.stopPropagation()
метод.
Однако, к сожалению, кажется, что передача объекта события вдоль
<a href="javascript:doSomething(event)"></a>
вообще не работает. Safari ничего не скажет, в то время как Firefox сообщит ReferenceError: событие не определено
Я предполагаю, что это так, потому что href="" не является атрибутом, инициирующим сценарий (например, onclick). Проблема в том, что в этой ситуации я не смогу получить доступ к тегу, кроме того, что я уже делаю.
Поэтому мне либо нужно
1.) Способ передать объект события функции doSomething() из атрибута href.
or
2.) Способ остановить распространение события прямо в этом якоре (после его нажатия) другими способами.
Спасибо за любой конструктивный вклад!
doSomething
к обработчику событийclick
? - person ultranaut   schedule 12.10.2012