0

我在 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>
4

1 回答 1

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 将不执行任何操作(不会更改下一张图像)。

于 2013-02-10T15:35:46.700 回答