0

我正在尝试构建一个图像,如果我可以按任何按钮并获取是否有右,左,或者双击。

像这些:

    <img id="myImgId" alt="" src="image.jpeg"   onmousedown="click(event)"/>
    <p><span id="click"></span></p>


<script type="text/javascript">
function click(event)
{
    if(event.button==2) 
    {
        document.getElementById("click").innerHTML="Last Action: Right Click";
        document.getElementById("click").value="Last Action: Right Click";
    }
    else if(event.button=0)
    {
        if(event.getclickcount() = 1)
        {
            document.getElementById("click").innerHTML="Last Action: Left Click";
            document.getElementById("click").value="Last Action: Left Click";
        }
        else if(event.getclickcount() = 2)
        {
            document.getElementById("click").innerHTML="Last Action: Double Click";
            document.getElementById("click").value="Last Action: Double Click";
        }
    }
}
</script> 

我期待当我点击图片时,这会做一些事情......

4

1 回答 1

1

首先,我想让你知道 Javascript不是Java!getClickCount()是一种 Java 方法,而不是 Javascript 方法。

然后,我建议你阅读:鼠标事件

最后一件事。当您使用getElementById时,它会返回一个 HTMLElement。如果这个元素是一个span,你不需要设置它的,因为它的innerHTML就足够了!

如果你只需要检查这三个事件,那么有一些内置方法可以让你做类似的事情,这里有一个小片段,展示了不同类型的点击和 HTML 之间的交互:

HTML 部分

<img id="myImgId" alt="" src="image.jpeg" />
<p><span id="click"></span></p>

Javascript代码

var myImg = document.getElementById('myImgId'),
    clickSpan = document.getElementById('click'),
    events = {
        click: 'Left',
        contextmenu: 'Right',
        dblclick: 'Double'
    };
function changeClickSpanValue(eventType) {
    clickSpan.innerHTML = 'Last Action: ' + events[eventType] + ' Click';
}
myImg.onclick = function(event) {
    event.preventDefault();
    changeClickSpanValue('click')
};
myImg.oncontextmenu = function(event) {
    event.preventDefault();
    changeClickSpanValue('contextmenu');
}
myImg.ondblclick = function(event) {
    event.preventDefault();
    changeClickSpanValue('dblclick');
}

查看JSFiddle 演示

于 2013-05-13T16:08:41.320 回答