我的鼠标向上代码有什么问题

Whats wrong with my mouseup code?

本文关键字:什么 问题 代码 鼠标 我的      更新时间:2023-09-26

尝试检测左键单击与右键单击(不使用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

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

onmouseup="cclick(event);"

Quirksmode在"点击了哪个鼠标按钮?"这个主题上写得很好,他的代码在你的上面工作。

以下是另一种方法

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

并调用如下函数而不传递event

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

我认为这段代码应该适合你。 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() -->