次のようなhtmlコードがあります。
<ul>
<li>
<a href="#foo">foo</a>
</li>
</ul>
ユーザーが項目をクリックすると、クリック ハンドラーが呼び出されます。
私が欲しいもの:
- ハンドラー メソッドでハッシュを変更する (を使用
window.location.hash
) - ユーザーがマウスの左クリックでクリックすると、ハンドラーが呼び出される必要があります
- ユーザーが中マウスでクリックした場合 (Chrome など)、リンクを新しいタブで開く必要がありますが、現在のページではハンドラーを呼び出すべきではありません。
- リンクとの別の対話をサポートします: ユーザーがアクティブなリンクで Enter キーを押したとき (
tab
キーを使用してアクティブ化できます)、または vimperator や viium などのブラウザー拡張機能を使用している場合
ハンドラーの中央ボタンでハッシュを変更しても新しいタブは開かれませんが (ただし、現在のページでハンドラーが呼び出されています)、中央ボタンのクリックや ctrl または Shift が押されたときにクリックなどのイベントでハンドラーを呼び出さない場合は解決されました
ハンドラー コードからハッシュの変更を削除すると、中央のボタンで新しいタブが開きますが、現在のページでハンドラーが呼び出されます。
私の目的を達成する方法についてアドバイスをください:mousedown
クリック ハンドラーと共にハンドラーを実装する必要がありますか、それとももっと便利な方法があるのでしょうか?