<a href="#" id="zb">abc</a>
<script type="text/javascript">
function gid(id)
{
return document.getElementById(id);
}
function foo()
{
var x = event.clientX;
var y = event.clientY;
alert("X 坐标: " + x + ", Y 坐标: " + y)
}
gid('zb').onclick = foo;
</script>
上面这段代码在IE8和Chrome下正常运行,但是到了FF下就提示event is not defined
把代码改成下面这样:
<a href="#" id="zb">abc</a>
<script type="text/javascript">
function gid(id)
{
return document.getElementById(id);
}
function foo(event)
{
var x = event.clientX;
var y = event.clientY;
alert("X 坐标: " + x + ", Y 坐标: " + y)
}
gid('zb').onclick = foo;
</script>
在Chrome和FF正常了,在IE下又提示: 'clientX' 为空或不是对象
我再把代码改成这样
<a href="#" id="zb" onclick="dp_OK(event)">abc</a>
<script type="text/javascript">
function foo(event)
{
var x = event.clientX;
var y = event.clientY;
alert("X 坐标: " + x + ", Y 坐标: " + y)
}
//gid('zb').onclick = foo;
</script>
终于皆大欢喜,都正常了,但是这样写不是面向对象的写法,并且大量添加事件时不可能每个标签上都加一个onclick="XXX",请教一下大家这个地方到底是出了什么问题呢?
<a href="#" id="zb">abc</a>
<script type="text/javascript">
function gid(id){
return document.getElementById(id);
}
function foo(event){
event= event || window.event;
var x = event.clientX;
var y = event.clientY;
alert("X 坐标: " + x + ", Y 坐标: " + y)
}
gid('zb').onclick = foo;
</script>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。