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 回答