2

私はいくつかの最新のブラウザでテストしましたが、一貫性のない結果になりました。イベントサポートの違いをキャプチャすることとバブリングすることと関係があると確信しています。ここで問題を再現するためのテスト環境をセットアップしました:pastebinこのサービスを使用してライブプレビューを実行します。

問題はこれです:祖先がバブリングを防ぐとき、いくつかのブラウザはアンカーhrefクリックイベントを無視します。真ん中の要素はバブルダウンする前にイベントを発生させますが、アンカー要素は発生しないため、意味がありません。javascriptのclickイベントは機能するのに、hrefイベントは機能しないのはなぜですか?

「クリックして」を押したときの結果は次のとおりです。

Chrome 9.0.597.98:hrefは無視されます+内側と外側が印刷されます

IE 8.0.6001.19019:hrefWorks+内側と外側が印刷されます

Firefox 3.6.13:hrefは無視されます+内側と外側が印刷されます

したがって、私の最終的な質問は、祖先要素がイベントバブルを防止しているときにhrefをクロスブラウザで動作させるにはどうすればよいですか?任意の洞察をいただければ幸いです。

編集:

ポインティのコメントで議論が続いていることを指摘したいと思います。また、彼の多大な助けに感謝したいと思います。

4

1 に答える 1

3

問題はそうではないということです

event.returnResult = false;

IEでは、次のようになります。

event.returnValue = false;

デフォルトのアクションを実行しないようにブラウザに正しく指示していないため、リンクはIEで通過します。

デフォルトのアクションを実行する場合は、「。preventDefault()」を呼び出さないでください。また、「returnValue」をに設定しないでくださいfalse

于 2011-02-24T15:48:43.697 に答える