为什么是这样结果?求高手解答!

kisssmile 2012-10-19 01:42:44
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<script>
window.onload = function () {

document.getElementById("bb").onblur = function (event) {
event ? event : window.event;
alert(event.button);

}

}

</script>
<body>
<form>
<input id ="bb" type="text"/>
</form>
</body>
</html>


运行结果是打印出 undefined ,这是什么原因呢?有什么办法可以解决?谢谢
...全文
150 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
泡泡鱼_ 2012-10-19
  • 打赏
  • 举报
回复
没用的,你对按钮绑定onblur事件,在FF中还可以用类似于fireEvent的方法转移事件,但在Chrome中完全无效,因为按钮不存在blur事件
kisssmile 2012-10-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

首先:三元运算符不是那么用的
event=event ? event : window.event;
alert(event.button);
或者:
event=event||window.event

其次,测试方式也是有问题
JScript code
document.getElementById("myauto").onmousedown = function (even……
[/Quote]


嗯 我就想知道这个event在失去焦点的时候能够获取到鼠标的坐标,在IE 下可以 获取到 可到火狐下面 整死都是undefined, 有什么方法可以解决啊?头疼半天了···
泡泡鱼_ 2012-10-19
  • 打赏
  • 举报
回复
首先:三元运算符不是那么用的
event=event ? event : window.event;
alert(event.button);
或者:
event=event||window.event

其次,测试方式也是有问题
document.getElementById("myauto").onmousedown = function (event) {
event=event||window.event;
alert(event.button);
}


再然后:event.button在不同的浏览器中,值是不一样的
似梦飞花 2012-10-19
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<script>
window.onload = function () {

document.getElementById("bb").onblur = function (e) {
var a=e||window.event;
alert(a.button);

}

}

</script>
<body>
<form>
<input id ="bb" type="text"/>
</form>
</body>
</html>
只有ie可以 貌似
有一只柴犬 2012-10-19
  • 打赏
  • 举报
回复
alert(event.button);触发事件是button,显然为undefined
kisssmile 2012-10-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

document.getElementById("bb").onblur = function (event) {
event ? event : window.event;
alert(event.button);

}
你这个方法中的event是哪来的??当然会是undefined
[/Quote]

这种方法IE 下可以用 FF 和谷歌浏览器不行!这什么情况?
fengyun817 2012-10-19
  • 打赏
  • 举报
回复
var e = event ? event : window.event;
alert(e.button);
有一只柴犬 2012-10-19
  • 打赏
  • 举报
回复
document.getElementById("bb").onblur = function (event) {
event ? event : window.event;
alert(event.button);

}
你这个方法中的event是哪来的??当然会是undefined

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧