锁定老帖子 主题:西方人通常发现不了的一个IE的bug
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-10
hax 写道 实际上,这是IE的focus机制的bug。 是的,ie中input这样的控件在显示到页面之前设置focus是无效的,所以要setTimeout在控件显示之后设置focus (不过例子中改成onclick更能说明问题) 除了focus,还有一些操作也是要显示之后才能生效,例如<input type=checkbox>的checked设置为true 另外ie还有一些诡异的情况: 创建 select multiple,并添加 options后,会默认选中第一个(ff、opera、safari都是无选项选中),也要在显示之后再去掉第一个选择,才能和其他浏览器保持一致 checkbox在失去焦点前onchange事件不会触发,但onclick会触发(ff等都会触发) td的nowrap属性设置无效,要么用css的white-space:nowrap,要么document.createElement('<td nowrap>') 客户要求跨浏览器,就是处理ie这些问题最烦人 |
|
返回顶楼 | |
发表时间:2008-05-10
birdjavaeye 写道 hax 写道 实际上,这是IE的focus机制的bug。 是的,ie中input这样的控件在显示到页面之前设置focus是无效的,所以要setTimeout在控件显示之后设置focus 并非如此。你再看看我的主贴,其实和input是否显示出来是没有关系的。 |
|
返回顶楼 | |
发表时间:2008-05-10
achun 写道 hax 写道 fins 写道 不知道为什么 西方人发现不了
开动脑筋啊。一样使用IE,我们跟西方人有什么区别呢? 还没有明显发现,不过发现如果点鼠标的中建(波轮),selected生效. 还有就是如果出滚动条的话,focus生效(FF也是这样).这个不算BUG吧!也就是特性吧. 大家加油喔。什么东西偶们使用,但是西方人不用的呢? |
|
返回顶楼 | |
发表时间:2008-05-10
不知道,mousedown就是会影响focus,在ff下面也是一样,timeout是在事件结素后执行,当然focus上了,西方人发现不了,是因为输入法,焦点在输入法和ie之间大概会有问题的意思吧(本论坛有bug,在页面1提交回复,竟然直接更新到页面1底下了)
|
|
返回顶楼 | |
发表时间:2008-05-10
hax 写道 achun 写道 hax 写道 fins 写道 不知道为什么 西方人发现不了
开动脑筋啊。一样使用IE,我们跟西方人有什么区别呢? 还没有明显发现,不过发现如果点鼠标的中建(波轮),selected生效. 还有就是如果出滚动条的话,focus生效(FF也是这样).这个不算BUG吧!也就是特性吧. 大家加油喔。什么东西偶们使用,但是西方人不用的呢? 西方人一般不用IE? 还是说西方人页面根本不那么花哨?简简单单~? |
|
返回顶楼 | |
发表时间:2008-05-10
跟语言有关系?
|
|
返回顶楼 | |
发表时间:2008-05-11
咖啡舞者 写道 hax 写道 achun 写道 hax 写道 fins 写道 不知道为什么 西方人发现不了
开动脑筋啊。一样使用IE,我们跟西方人有什么区别呢? 还没有明显发现,不过发现如果点鼠标的中建(波轮),selected生效. 还有就是如果出滚动条的话,focus生效(FF也是这样).这个不算BUG吧!也就是特性吧. 大家加油喔。什么东西偶们使用,但是西方人不用的呢? 西方人一般不用IE? 还是说西方人页面根本不那么花哨?简简单单~? 大概是说输入法了? 还是请老大别卖关子了 |
|
返回顶楼 | |
发表时间:2008-05-11
afcn0 写道 西方人发现不了,是因为输入法,焦点在输入法和ie之间大概会有问题的意思吧
bingo. 请try一下我ding楼给的realazy的原有例子罢。 BTW,JE的编辑器说我这篇有“我ding”之类的嫌疑。。。难道是因为ding楼这个词??这也太敏感了罢。 |
|
返回顶楼 | |
发表时间:2008-05-11
realazy的例子中
"另一个例子",如果没有打开输入法 onkeypress事件能正常激活 打开输入法后,输入的汉字就不能激活事件了 我很好奇 google 的搜索框中 打开输入法,当输入拼音,还没形成汉字进入输入框时 它的可选搜索结果就出现在下拉框中了 这是怎么实现的? |
|
返回顶楼 | |
发表时间:2008-05-11
fins 写道 down click up 这是事件处理的顺序
在down里做一些事情确实危险 例如 alert一个东西 那么click事件 就不能被正确的触发了 事件顺序应该是 down up click 吧 |
|
返回顶楼 | |