JavaScript 中的window.event代表的是事件的状态,但是我有一个疑问。。。

就是window.event对象代表的是任何发生的事件吗?因为我看到是window对象的event所以我就想,是不是发生了任何事件时,我们都能通过引用window。event都能获取所发生事件的相关属性?... 就是window.event对象代表的是任何发生的事件吗?因为我看到是window对象的event所以我就想,是不是发生了任何事件时,我们都能通过引用window。event都能获取所发生事件的相关属性?望高手赐教! 展开
 我来答

答题抽奖

首次认真答题后

即可获得3次抽奖机会,100%中奖。

更多问题
最佳答案
MarindaBoy
来自百度知道认证团队 2018-08-16
MarindaBoy
采纳数:0 获赞数:1323 LV2
擅长:股票
向TA提问 私信TA
展开全部

一、window.event代表着事件对象的状态。只有在事件发生时生效。如鼠标、键盘等事件被触发时这个对象才存在。window.event这只在IE下是这样的。他并不是标准。。也就是说其他浏览器并不支持。在W3C标准支持的浏览器下事件对向是引发事件涵数的第一个参数,参数名随意。

二、javascript函数(方法)d()
参数为e||window.event  表示e或window.event  这句话是跨浏览器的写法  支持这两种方式的 浏览器才能进入该方法,IE中该对象为window.event(window可省略)  而Firefox中该对象为e  ,至于该对象是什么:该对象代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等  例如:获取光标位置 event.clientX event.clientY

拓展资料

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。 

为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。

(参考资料 百度百科 JavaScript)

葑惢ㄣ鎖愛
推荐于2017-12-15
葑惢ㄣ鎖愛
采纳数:50 获赞数:690 LV6
擅长:烦恼 PHP JavaScript Html/Css
向TA提问 私信TA
展开全部
首先回答你第一个问题:window.event代表着事件对象的状态。只有在事件发生时生效。如鼠标、键盘等事件被触发时这个对象才存在。window.event这只在IE下是这样的。他并不是标准。。也就是说其他浏览器并不支持。在W3C标准支持的浏览器下事件对向是引发事件涵数的第一个参数,参数名随意,在下面的例子中我的事件对象的参数名是evt,也可以定义为其他名字.为了兼容IE浏览器可以这样写
<style type="text/css">
#obj{background:red;width:300px;height:200px;position:relative;}
</style>
<div id="obj"></div>
<script type="text/javascript">
document.getElementById("obj").onclick=function(evt){
//获取的这个ID为obj的DIV对象就是个实例引起鼠标事件的元素
//evt代表事件对象(W3C DOM标准下)
var evt=evt || event; //标准化事件对象(W3C DOM 和IE DOM )
evt.Target=evt.Target || evt.srcElement;//标准化事件对象属性<引起事件的元素>
//(W3C DOM 和IE DOM )
evt.layerX=evt.layerX || evt.offsetX;//鼠标相对于引起事件的元素的父元素的X坐标(标准化IE)
evt.layerY=evt.layerY || evt.offsetY;//鼠标相对于引起事件的元素的父元素的Y坐标(标准化IE)
alert("相对这个DIV的X方向的坐标"+evt.layerX+"\n相对这个DIV的Y方向的坐标"+evt.layerY)
}
</script>
//以上都是手打的。望采纳。可直接保存代码部分复制到页面的body部分。在IE和FF下都可以正常执行。
本回答被提问者采纳
已赞过 已踩过<
评论 收起
通孤风
2011-09-27
通孤风
采纳数:72 获赞数:257 LV6
擅长:暂未定制
向TA提问 私信TA
展开全部
javascript函数(方法)d()
参数为e||window.event 表示e或window.event 这句话是跨浏览器的写法 支持这两种方式的 浏览器才能进入该方法
IE中该对象为window.event(window可省略) 而Firefox中该对象为e
至于该对象是什么:
该对象代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等 例如:获取光标位置 event.clientX event.clientY
已赞过 已踩过<
评论 收起
abiao5555
来自电脑网络类芝麻团 2011-09-25
abiao5555
采纳数:249 获赞数:534 LV8
擅长:JavaScript PHP Html/Css
参与团队:js开发
向TA提问 私信TA
展开全部
在IE下是这样
但在FIREFOX下不一样,在firefox中event 是事件回调函数的第一个参数,事件不发生时是不存在event对象的

无论是在IE还是在firefox下, 应在在事件回调函数里使用event对象
追问
我刚刚工作,还是个JS小菜鸟,高手能给举个例子吗,有点不明白什么教回调函数,最好越全面越详细越好,谢了啊!
追答
事件触发后要执行的函数就是这个事件的回调函数

<button id="btn" onclick="func(1,2,event)">click</button>

这里的onclick="func(1,2,event)" 相当于
document.getElementById("btn").onclick = function(event){
/*
这是回调函数,他的第一个参数就是event,在这里你可以使用其他参数名,但是,如果内嵌在html标签中的js代码,必须写成event
*/
alert(event) //firefox ,IE下 则 alert(window.event)

func(1,2,event);
}

function func(a,b,e)
{ //这个func不是回调函数,在这个例子中他只是在回调函数内部被调用
alert(a+','+b);
alert(e); //这个是被传进来的event对象
}

在HTML标签中内嵌的js代码中访问event对象 都可以简单的用event指代,因为这不但符合firefox的规范,而且,在IE中刚好是因为存在window.event,而访问window对象下的属性和方法都可以忽略window不写,因此,下面的方式func的第三个参数都是event,
<button id="btn" onclick="func(1,2,event)">click</button>
但是你要知道,这个event的用法在根本上是不同的,因为如果你使用document.getElementById("btn").onclick = 回调函数
的方式来给HTML标签绑定事件回调函数时,你只能在回调函数第一个参数里传入event对象,但是IE不是这样,在IE下你只能在回调函数里面用 window.event(或直接用event)来访问event对象
已赞过 已踩过<
评论 收起
百度作业帮
2016-01-05
百度作业帮
作业帮是由百度知道专门为中小学生创造的应用,也是作业问答和话题交流的平台。在作业帮,学生可以讨论作业问题,得到解题思路和知识点;也可以与全国同龄中小学生一起交流,讨论学习和生活中的趣事。
浏览官网
展开全部
不一定
已赞过 已踩过<
评论 收起
收起 其他2条回答

为你推荐:

×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消