event = (event)?event:window.event; 求教 function t(event){ event = (event)?event:window.event; ... }<body onmousedown="t(event)">知道这是为了兼容浏览器 但不知道是为什么谁能解释一下?越详细越好 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.dezai.cn/article_print.asp?articleId=14638 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; 这种写法。 还是不明白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; e=e?e:window.event这句的意思可能不是有人说的 为了浏览器兼容看这段代码,IE6.0<body >clickMe</body><script language="javascript" type="text/javascript">document.body.onclick = function(){alert(event);}</script>当单击页面上的文字“clickMe”时 和 单击 空白区域时 弹出的对话框不同这是为什么 aa = event? event :window.event ;你在网页中就可以直接用aa代表event或者 window.event这样不就是做到兼容了吗! event = (event)?event:window.event; 可以改成这种写法:event=event||window.event firefox 和 ie 事件处理的细节,研究,再研究-----书写同时兼容ie和ff的事件处理代码http://www.cnblogs.com/ashun/archive/2006/11/27/event_javascript_ie_firefox_gorush.html e=e?e:window.event这句的意思可能不是有人说的 为了浏览器兼容看这段代码,IE6.0<body >clickMe</body><script language="javascript" type="text/javascript">document.body.onclick = function(){alert(event);}</script>当单击页面上的文字“clickMe”时 和 单击 空白区域时 弹出的对话框不同这是为什么////////////////////////////////////////////////////////////////////////////////作废 作废 ie中 window.event 与 event 有什么区别? ie中 window.event 与 event 有什么区别?没有区别 参照各位高手的自己总结了一下看下面代码:<body onkeypress="t(event)"></body><script>function t(e){ alert(e);}</script>在IE,FF 中都能运行。也就是说这样已经实现了浏览器兼容。 那么为什么还要加上这句代码呢?这是为了兼容不同的函数调用方法,看这段代码:<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 对象表示事件对象。 jquery实现qq空间相册的效果 麻烦高手给修改下这段代码 ie8下控制固定gridview表头正常显示 求解javascript 精髓的一段代码 谁能解密这段js代码啊!拜托了 求教动态生成下拉框内的元素的方法 新人求教:如何在ASP里获取JS联动菜单的变量值? 求一简单的正则? 返回一个页面并刷新这个页面,该怎么办? 在一个网页中,我想点击一个按钮,然后提示“嘟,嘟,嘟”的声音警报。应该如何完成呢? 关于提交的问题?(在线等) 求教select框下option被选中的问题 问几个问题~~~急
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;
这种写法。
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;
这句的意思可能不是有人说的 为了浏览器兼容
看这段代码,IE6.0
<body >
clickMe
</body>
<script language="javascript" type="text/javascript">
document.body.onclick = function(){
alert(event);
}
</script>
当单击页面上的文字“clickMe”时 和 单击 空白区域时 弹出的对话框不同这是为什么
可以改成这种写法:
event=event||window.event
firefox 和 ie 事件处理的细节,研究,再研究-----书写同时兼容ie和ff的事件处理代码http://www.cnblogs.com/ashun/archive/2006/11/27/event_javascript_ie_firefox_gorush.html
这句的意思可能不是有人说的 为了浏览器兼容
看这段代码,IE6.0
<body >
clickMe
</body>
<script language="javascript" type="text/javascript">
document.body.onclick = function(){
alert(event);
}
</script>
当单击页面上的文字“clickMe”时 和 单击 空白区域时 弹出的对话框不同这是为什么
////////////////////////////////////////////////////////////////////////////////
作废 作废
ie中 window.event 与 event 有什么区别?
没有区别
自己总结了一下
看下面代码:
<body onkeypress="t(event)">
</body>
<script>
function t(e)
{
alert(e);
}
</script>
在IE,FF 中都能运行。也就是说这样已经实现了浏览器兼容。
<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 对象表示事件对象。