1. ホーム
  2. javascript

[解決済み] タグのonclick属性を起点としたカスタム関数からpreventdefaultを呼び出すためのアクセスイベント

2022-06-04 22:19:40

質問

このようなリンクがあります。

<a href="#" onclick="myfunc({a:1, b:'hi'})" />click</a>
<a href="#" onclick="myfunc({a:3, b:'jo'})" />click</a>

そして、私がやりたいのは preventDefault() 内部 myfunc() があるため # がアドレスバーに追加されるからです。 が追加されるからです (このとき return false; または href='javascript:void(0);' )

これは可能でしょうか? イベントを myfunc()

どのように解決するのですか?

で渡すことができると思います。 event をインラインで関数に渡すと、それが event オブジェクトになります (つまり、古いバージョンの IE では、イベントハンドラ関数の内部で window.event ).

簡単な例 .

function sayHi(e) {
   e.preventDefault();
   alert("hi");
}
<a href="http://google.co.uk" onclick="sayHi(event);">Click to say Hi</a>

  1. そのまま実行し、アラート後にリンクが Google にリダイレクトされないことに注意してください。
  2. 次に event に渡された onclick のような他のハンドラに渡されます。 e をクリックし、アラートの後にリダイレクトが行われることに注意してください (結果ペインが白くなり、リダイレクトが示されます)。