锁定老帖子 主题:西方人通常发现不了的一个IE的bug
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-11
netix1999 写道 realazy的例子中
"另一个例子",如果没有打开输入法 onkeypress事件能正常激活 打开输入法后,输入的汉字就不能激活事件了 我很好奇 google 的搜索框中 打开输入法,当输入拼音,还没形成汉字进入输入框时 它的可选搜索结果就出现在下拉框中了 这是怎么实现的? 试试我说的那个(也就是第一个例子)吧。 关于onkeypress,实际上并没有标准可循。一般浏览器都会将所输入的完整字符作为keypress事件。将来也许会标准化为textinput事件。使用输入法时,输入的字母并不会最后形成完整字符,自然不会触发keypress。 google可能用的keydown事件。Windows输入法上有个特点,keydown事件还是会出现的,但是keyup和keypress事件则不会出现。实际上IE中的这些事件貌似是直接对应某几种windows消息(又,我忘记具体消息名称了),而且我记得是会出现keyup事件,但是keycode与keydown的keycode值不一样,是一个固定的表示输入法消息的值。 |
|
返回顶楼 | |
发表时间:2008-05-11
试了一下第一个例子
打开输入法点击"生成input” 页面的输入焦点就挪到setTimeout的label上了 再敲键就能在原先不可能接收输入的label上增加字符 牛逼,老外确实发现不了这个bug |
|
返回顶楼 | |
发表时间:2008-05-11
呵呵。其实这个有趣的bug按说应该很容易被国人(还有日本人韩国人等需要输入法的)发现,不过不知道为什么一直未见有记载。
|
|
返回顶楼 | |
发表时间:2008-05-11
就当是个圣诞节彩蛋吧
|
|
返回顶楼 | |
发表时间:2008-05-11
我晕呀,
什么BUG呀,我说我怎么发现不了。 你用什么输入法呀! 我用google/sogou拼音都没有发现这个问题。 输入法的BUG吧! |
|
返回顶楼 | |
发表时间:2008-05-11
刚才用微软拼音,全拼,双拼,google拼音都试过了
是ie bug, 不是输入法的 |
|
返回顶楼 | |
发表时间:2008-05-11
为什么会焦点会移动到最上面的Settimeout上呢?而不是移动到靠近的那个settimeout上?
|
|
返回顶楼 | |
发表时间:2008-05-11
太强了 这个应该报告给Ms啦 hoho
|
|
返回顶楼 | |
发表时间:2008-05-11
不是一般nb,非常nb,输入法和ie...电脑真奇妙
|
|
返回顶楼 | |
发表时间:2008-05-11
wacaoren 写道 为什么会焦点会移动到最上面的Settimeout上呢?而不是移动到靠近的那个settimeout上?
oh,我又看了一下,我原来对button元素的描述有误。点击它之后,焦点并不是跑到直接的父层元素,而是到canvas上去了。 实际上大多数元素你都会看到是插入到被点击的元素内部。更确切的说,插入到点击的那个点,就好像它成了一个编辑框,光标跑到了你点击的地方一样。比方说如果是<div>abcd</div>,你点击b和c之间,则插入的字符就到了b和c之间。 但是<button>元素和一般div之类的元素不同(包括与<input type=button>也不同)。测试结果表明<button>上的mousedown之后,焦点会跑到canvas(body或html元素)上,更确切的说是canvas上第一个插入点。至于说为什么会这样,看来只有问IE team了。。。 |
|
返回顶楼 | |