0

左クリックと右クリック(jQueryを使用せずに!)を検出しようとしていますが、次のコードがあります

Javascript:

function cclick(e) {
   if (e.button == 1) {alert("hgbdygwea");}
   else {
      alert(e.button);
   }
}

HTML:

<a onmouseup="cclick()" ...> <img .../> </a> <!-- also tried cclick instead of cclick() -->

Internet Explorer 9 を使用している

4

4 に答える 4

3

イベント オブジェクトを関数に渡す必要があります。

onmouseup="cclick(event);"
于 2012-04-09T07:00:52.737 に答える
1

Quirksmode は、「どのマウス ボタンがクリックされたのか?」というテーマについて適切な記事を書いており、彼のコードはあなたのコードの上で動作します。

于 2012-04-09T07:00:43.637 に答える
0

以下は別のアプローチです

function cclick() {
   var e = window.event;
   if (e.button == 1) {alert("hgbdygwea");}
   else {
      alert(e.button);
   }
}

そして、を渡さずに以下のように関数を呼び出しますevent

<a onmouseup="cclick()" ...> <img .../> </a>
于 2012-04-09T07:13:56.207 に答える
0

このコードはあなたのために働くはずだと思います。e.button はすべてのブラウザーで有効というわけではありません (コードをクリーンアップしました)。

function cclick(e) {
    "use strict";
    e || window.event;
    if (e.which) {
        alert((e.which === 1) ? "hgbdygwea" : e.which);
    } else {
        alert((e.button === 1) ? "hgbdygwea" : e.button);
    }
}

<a onmouseup="cclick(event)" ...> <img .../> </a> <!-- also tried cclick instead of cclick() -->
于 2012-04-09T07:14:47.953 に答える