我的mouseup代码有什么问题?

时间:2012-04-09 06:50:00

标签: javascript html internet-explorer right-click onmouseup

尝试检测左键单击vs右键单击(不使用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 个答案:

答案 0 :(得分:3)

您需要将事件对象传递给您的函数:

onmouseup="cclick(event);"

答案 1 :(得分:1)

Quirksmode对“Which mouse button has been clicked?”以及his code works这一主题的评论很好。

答案 2 :(得分:0)

以下是另一种方法

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

如下所示调用该函数而不传递event

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

答案 3 :(得分: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() -->