浏览器之间的javascript鼠标事件兼容性问题
javascript mouse event compatibility issue between browsers
我是web开发的新手。我有一个代码,应该在点击图像时更改图像,并在发布时更改回图像。它还计算它被点击的次数。我在Safari上构建并测试了这个代码,没有遇到任何问题。它在Safari上的工作与预期一样。然而,它在Chrome和IE上不起作用(我还没有测试过任何其他浏览器)。
我通常使用HTML5 Boilerplate,但我减少了代码,以便在这里显示(这个版本也不起作用)。
我已经给出了下面页面的代码。我该怎么做才能让它在每个浏览器上都能工作。它在浏览器上表现不同的原因是什么?
提前感谢
<!html>
<html>
<head>
<title></title>
<script type="text/javascript">
var count = 0;
function incrementCount()
{
count++;
document.getElementById( "count").innerHTML = count;
}
function pushTheButton()
{
document.images("bigRedButton").src = "img/pressed.gif";
return true;
}
function releaseTheButton()
{
document.images("bigRedButton").src = "img/unpressed.gif";
return true;
}
</script>
</head>
<body>
<div role="main">
<p>
<img src = "img/unpressed.gif" name="bigRedButton" onmousedown="pushTheButton()" onmouseup="releaseTheButton()" onclick="incrementCount()"/>
</br>
Click Count:<p id="count">0</p>
</p>
</div>
</body>
</html>
在Chrome中测试时,请记住使用其JavaScript控制台来监视错误。在这种情况下,它返回以下内容:
未捕获类型错误:对象#的属性"images"不是函数
当您试图访问document.images("bigRedButton")时,问题出现在第18行和第24行。document.image是一个数组(或者可能是一个对象),而不是函数。应该是:
document.images["bigRedButton"].src
我不知道为什么它能在Safari上运行。
http://www.w3schools.com/jsref/coll_doc_images.asp
document.images是一个整数索引的图像数组。要真正确定,您应该使用:
document.images[0].src = ...
尽管在许多情况下也可以使用名称访问图像。
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- 如何从画布上的某个移动事件中获取X和Y
- Jquery:未触发select事件
- JsFiddle上的鼠标事件不起作用
- 浏览器之间的javascript鼠标事件兼容性问题
- 适用于ipad兼容性的鼠标事件到触摸事件
- XmlHttpRequest进度事件处理程序在Internet Explorer中的兼容性
- jQuery:IE7兼容性问题-$(窗口).调整触发事件和锁定的大小