我正在尝试建立一个图像,我可以按任意按钮,如果有一个右,左,ou双击得到。
喜欢这些:
<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>
我期待当我点击图片时,这会有所作为......
答案 0 :(得分:1)
首先,我想让您知道Javascript 不是 Java! getClickCount()是一种Java方法,而不是Javascript方法。
然后,我建议您阅读:Mouse Events
最后一件事。当您使用 getElementById 时,它会返回一个HTMLElement。如果此元素是跨度,则无需设置其值,因为其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');
}