社区
JavaScript
帖子详情
event = (event)?event:window.event; 求教
wangdotnet
2007-07-25 10:24:17
function t(event){
event = (event)?event:window.event;
...
}
<body onmousedown="t(event)">
知道这是为了兼容浏览器 但不知道是为什么
谁能解释一下?越详细越好
...全文
3755
13
打赏
收藏
event = (event)?event:window.event; 求教
function t(event){ event = (event)?event:window.event; ... } 知道这是为了兼容浏览器 但不知道是为什么 谁能解释一下?越详细越好
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wangdotnet
2007-07-25
打赏
举报
回复
好多的星星呀
Go_Rush
2007-07-25
打赏
举报
回复
firefox 和 ie 事件处理的细节,研究,再研究-----书写同时兼容ie和ff的事件处理代码
http://www.cnblogs.com/ashun/archive/2006/11/27/event_javascript_ie_firefox_gorush.html
JK_10000
2007-07-25
打赏
举报
回复
event = (event)?event:window.event;
可以改成这种写法:
event=event||window.event
hij333
2007-07-25
打赏
举报
回复
aa = event? event :window.event ;
你在网页中就可以直接用aa代表event或者 window.event
这样不就是做到兼容了吗!
wangdotnet
2007-07-25
打赏
举报
回复
e=e?e:window.event
这句的意思可能不是有人说的 为了浏览器兼容
看这段代码,IE6.0
<body >
clickMe
</body>
<script language="javascript" type="text/javascript">
document.body.onclick = function(){
alert(event);
}
</script>
当单击页面上的文字“clickMe”时 和 单击 空白区域时 弹出的对话框不同
这是为什么
wangdotnet
2007-07-25
打赏
举报
回复
还是不明白
LxcJie,既然
<input type="button" value="clickMe" onclick="doIt(event)">
<script language="javascript">
function doIt(oEvent){
alert(oEvent);
}
</script>
可以做到二者兼容,为什么还要写成这样
function tracking(e){
e = e ? e : window.event;
LxcJie
2007-07-25
打赏
举报
回复
IE中可以直接使用event对象,但是Mozilla不可以直接使用。
例如:
IE ONLY
<input type="button" value="clickMe" onclick="doIt()">
<script language="javascript">
function doIt(){
alert(event);
}
</script>
这段代码在Mozilla浏览器中是不能正常工作的,因为Mozilla浏览器中没有默认的event对象,只能在事件发生的现场使用。
下面看一下两者都兼容的代码:
<input type="button" value="clickMe" onclick="doIt(event)">
<script language="javascript">
function doIt(oEvent){
alert(oEvent);
}
</script>
综上所述,为了进一步无缝合并,采用了
event = (event)?event:window.event;
这种写法。
hij333
2007-07-25
打赏
举报
回复
http://www.dezai.cn/article_print.asp?articleId=14638
wangdotnet
2007-07-25
打赏
举报
回复
那么为什么还要加上这句代码呢?这是为了兼容不同的函数调用方法,看这段代码:
<body>
</body>
<script>
function t(e)
{
alert(e);// IE:undefined FF: [object]
}
document.body.onkeypress=t;//注意这里没有人为传入任何参数
</script>
这段代码在IE 下没有获得参数e,显示undefined。在FF下能够得到参数e,显示[object].
这是因为
在ie中,事件对象是作为一个全局变量来保存和维护的。 所有的浏览器事件,不管是用户触发的,还是其他事件, 都会更新window.event 对象。 所以在代码中,只要轻松调用 window.event就可以轻松获取 事件对象, 再 event.srcElement 就可以取得触发事件的元素进行进一步处理
在ff中, 事件对象却不是全局对象,一般情况下,是现场发生,现场使用,ff把事件对象自动传递给对应的事件处理函数。在代码中,对应的事件处理函数的第一个参数就是ff下的事件对象了。可以用下面的代码证实,
<body>
</body>
<script>
function t()
{
alert(arguments[0]);// ff下显示 "[object]", ie下,显示 "undefined",
}
document.body.onkeypress=t;
</script>
那么,要兼容浏览器和调用方法,可以修改函数,如下:
function t(e)
{
e=e?e:window.event;
alert(e);//
}
在ff下不论哪种调用方法传入函数的参数e 总是有效的,表示当前触发的event,
在ie下 本文开头的第一种调用方法(<body onkeypress="t(event)">)传入的参数e也是有效的,表示当前触发的event。第二种调用方法(document.body.onkeypress=t;)传入的参数e是无效的。由上可以推断出 只要传入的参数e是无效的那么浏览器一定是ie。ie浏览器中用window.event 对象表示事件对象。
wangdotnet
2007-07-25
打赏
举报
回复
参照各位高手的
自己总结了一下
看下面代码:
<body onkeypress="t(event)">
</body>
<script>
function t(e)
{
alert(e);
}
</script>
在IE,FF 中都能运行。也就是说这样已经实现了浏览器兼容。
rjzou2006
2007-07-25
打赏
举报
回复
ie中 window.event 与 event 有什么区别?
没有区别
wangdotnet
2007-07-25
打赏
举报
回复
ie中 window.event 与 event 有什么区别?
wangdotnet
2007-07-25
打赏
举报
回复
e=e?e:window.event
这句的意思可能不是有人说的 为了浏览器兼容
看这段代码,IE6.0
<body >
clickMe
</body>
<script language="javascript" type="text/javascript">
document.body.onclick = function(){
alert(event);
}
</script>
当单击页面上的文字“clickMe”时 和 单击 空白区域时 弹出的对话框不同
这是为什么
////////////////////////////////////////////////////////////////////////////////
作废 作废
基于Apache Kafka的IBM事件流处理方案 IBM
Event
Streams
事件(
Event
)处理在用户的实际业务中有着广泛使用。Apache Kafka是被广泛使用的分布式、易扩展、高效的事件流平台,但管理部署复杂,需高度熟练的专业知识。在Kafka的基础上进一步增强了产品的稳定性、易用性及管控能力,更适合企业客户使用。我们邀请到IBM云计算高级咨询顾问张诚, 为大家介绍IBM
Event
Stream 的应用场景、技术特性、与传统Message System的差异。
java.awt.
event
dispatchthread_Java 游戏报错 看不懂
求教
Java 飞机小游戏 报错 看不懂求救at java.awt.Component.dispatch
Event
(Unknown Source)at java.awt.
Event
Queue.dispatch
Event
Impl(Unknown Source)at java.awt.
Event
Queue.access$500(Unknown Source)at java.awt.
Event
Queue$3....
实现php对接QQ聊天,javascript - 想做一个类似于QQ的网页版聊天功能,如何实现??...
制作网页版聊天工具的时候,大家通常是用什么方式来进行实时消息传递的??我所知道的 :ajax轮询(都说浪费资源,不好...)
Event
Source(支持不好,IE压根不支持..)WebSoket(不是很了解...)而且,百度搜索后了解到在浏览器不支持 WebSocket 的情况下,居然还有第三方库能够实现 WebSocket ,是否所谓的 WebSocket 也是如同
Event
Source 一样...
mysql jdbc 5.1.8_java中 MySQL与驱动jdbc连接不上,想请教高手:jdbc驱动:mysql-connector-java-5.1.18-bin.jar怎么用啊?...
连接数据库的一段代码如下:(高手们你们看看有问题么??)Driverdriver=newcom.mysql.jdbc.Driver();DriverManager.registerDriver(driver);Stringurl="jdbc:mysql://localhost:330...连接数据库的一段代码如下:(高手们你们看看有问题么??)Driver driver = new com.mys...
java报错前有at_请教真大神,能大概看出这是什么错误的人应该不多吧,新手
求教
...
该楼层疑似违规已被系统折叠隐藏此楼查看此楼java.io.EOFExceptionat java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)at java.io.Ob...
JavaScript
87,924
社区成员
224,616
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章