2012-04-09 17 views
0

を右クリック対左クリックを検出しようとすると、私は次のコード私のマウスアップコードで何が間違っていますか?

Javascriptを持っている(jQueryのを使用せずに!):

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

HTML:インターネットエクスプローラー9

を使用して

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

+0

問題点を教えてください。 mouseupイベントの検出に失敗しますか? –

+0

警告が表示されず、htmlのcclick()をcclickに置き換えると、.buttonは定義されていません。 – Oztaco

+5

'onmouseup =" cclick(event) "'を試してください。 – nnnnnn

答えて

3

onmouseup="cclick(event);" 
0

が続いては、別のアプローチ

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

そしてeventを通過せずに、以下のように関数を呼び出すです。

<a onmouseup="cclick()" ...> <img .../> </a> 
+0

これは、Microsoftのブラウザでのみ動作します。他のブラウザにはウィンドウがありません – Eric

+1

彼が言及したように、「Internet Explorer 9」で実行する必要があります – prageeth

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() --> 
+0

どのブラウザがeですか?ネットスケープのためだと聞いたので、もう人気がなくなって以来、気にしていませんでしたか? – Oztaco

関連する問題