JS onmousedown仅限于左键单击

时间:2013-02-10 15:23:01

标签: onmousedown

我在JS中构建了一种图片库。在给定的img和p元素上,onmousedown事件调用两个函数:它加载一个新图像和一个新描述(见下文)

但是,与我的想法相反,onmousedow它也是通过右键单击触发的。我不喜欢这个,我喜欢用左键单击鼠标来限制onmousedown事件。

有没有办法做到这一点?

非常感谢你的帮助。

HTML:

<img style="max-width: 100%; cursor:pointer;" src="../../img/picture1.jpg" alt="text" title="click me" 
id="showgallery" onmousedown="changeimg(); changedscrpt()" />
enter code here
<p class="myclass" style="text-align: center;" id="imgdescription">Description</p>

1 个答案:

答案 0 :(得分:0)

您应该将对changeimg()和changedscrpt()的调用移出到单独的方法,该方法首先评估鼠标是否被按下,类似:

onmousedown="checkAndChange(event, this)";

JavaScript的:

function checkAndChange(e, obj)
{
    if (leftMousePressed(e))
    {
        changeimg();
        changedscrpt();
    }
}
function leftMousePressed(e)
{
    e = e || window.event;
    var button = e.which || e.button;
    return button == 1;
}

如果按下鼠标右键,JavaScript将不会执行任何操作(不会更改下一张图像)。