有人能解释一下这句么? var evt = (evt) ? evt : ((window.event) ? window.event : "");

zhouyouben 2006-08-05 11:46:57
谢谢
...全文
595 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlueDestiny 2006-08-05
  • 打赏
  • 举报
回复
例如

function foo(evt) {
var evt = (evt) ? evt : ((window.event) ? window.event : "");
//TO DO
}

传参数foo(event)//IE不需要传参数

这个参数的意思是要兼容Mozilla,在IE中window.event中含有event了,而Mozilla中需要显式的传一个event参数给函数。而这个代码就可以写成
var evt = (evt) ? evt : window.event;
event的作用很多,比如按下时onkeydown得到键盘的code.
zhouyouben 2006-08-05
  • 打赏
  • 举报
回复
evt = (evt) 这个什么意思,为什么加个括号
leohuang 2006-08-05
  • 打赏
  • 举报
回复
? : (3元运算符)
格式

test ? statement1 : statement2
test 布尔表达式.
statement1 当test为真时,返回值为statement1,可以是复合语句
statement2 当test为假时,返回值为statement2,可以是复合语句

Alextion_Jiang 2006-08-05
  • 打赏
  • 举报
回复
哈哈。。看来这位兄弟没有接触过C或者C++之类的编程软件
梅雪香 2006-08-05
  • 打赏
  • 举报
回复
这段代码是为了能在IE和FF下通用取得event对象的。
window.event是IE下的写法
FF下不能直接取,只能从参数传过来,evt就是event对象,如:onclick="foo(event)"
leohuang 2006-08-05
  • 打赏
  • 举报
回复
其实括号也没用

87,992

社区成员

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

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