制限により、私は完全に避けていますが、特定の状況では、achor タグの href 属性で javascript: 構文を使用する必要があります。
(説明: 私の CMS では、リッチ テキスト エディターを使用して、ユーザーがリンクを含むテキスト要素を変更できるようにしています。場合によっては、特定の javascript: 呼び出しが必要であり、リンク編集機能から onclick を完全に禁止しています (プロセスを簡素化するため)。ただし、onclick イベントに反応するブロック内にリンクの 1 つが表示されると、ダブルファイアが発生します)。
このような:
<a href="javascript:doSomething()"></a>
私の問題は、このリンクが onclick イベントに既に反応するコンテナー内にあることです。したがって、イベント オブジェクトを doSomething() メソッドに渡して、jQuery の
event.stopPropagation()
方法。
残念ながら、しかし、イベントオブジェクトを渡すようです
<a href="javascript:doSomething(event)"></a>
まったく機能していないようです。Firefox はReferenceError: event is not definedを報告しますが、Safari は何も言いません。
href="" はスクリプト開始属性 (onclick など) ではないため、これが当てはまると思います。問題は、この状況では、既に行っていることを超えてタグにアクセスできないことです。
したがって、私はどちらかが必要です
1.) href 属性内から doSomething() 関数にイベント オブジェクトを渡す方法
また
2.) 他の方法で (クリックされた後) そのアンカーでイベントの伝播を停止する方法。
建設的なご意見ありがとうございます。