Published .
Tags: bug.
正常情况下,当用户右键按下时会触发mousedown事件,然后右键弹起时触发mouseup事件。
而在Maxthon,TencentTraveler中,为了达到鼠标动作的功能,强行把鼠标右键给截获了,也就是说:
当右键按下时并不会立刻触发mousedown事件;
当右键弹起时,先后触发mousedown和mouseup;
在右键弹起之前,如果鼠标移动,那么就会被视为“鼠标动作”的功能,mousedown和mouseup都不会触发。
当然,在这两种浏览器中,右键按下时contextmenu事件也是被截获了。
当无法避开这个问题时,可以通过判别浏览器,然后通过event.button的值来进行区分:
在这两种浏览器中,右键弹起触发mousedown时,event.button为0(其他浏览器都为2)
在Firefox3中发现一个灵异的现象,如果给input设置了height和padding,在普通情况下不会有什么问题,但是如果input出现在iframe里的页面中有时候就会导致input的height不正常。
在项目中,我把程序生成的页面另外保存了一份,iframe设置同样的src,里面的input居然正常了。检查了文件编码和HTML代码,以及CSS,没有发现任何异常。
在官方的bugzilla中也找到了某人提的bug,但没有出来解决方法,你可以用Firefox3访问这个地址:
https://bugzilla.mozilla.org/show_bug.cgi?id=398959
https://bugzilla.mozilla.org/attachment.cgi?id=341749
https://bugzilla.mozilla.org/show_bug.cgi?id=403558
https://bugzilla.mozilla.org/attachment.cgi?id=288409
测试:
更灵异的事情发生了,以上测试,单独写一个页面是不会出现问题的,点击上面的“View”弹出的页面中,无论FF3还是FF2都会出现height不正常。
单独写一个页面是什么效果?可以看这个:
http://blog.xhlv.com/lab/ff_input_height_bug/index.html
http://lab.xhlv.com/ff_input_height_bug/index.html
两个一模一样的页面,在不同服务器上,有的会出现bug,有的不会出现,有时会出现,有时不会出现,郁闷。。。。
Why???
(暂时的处理方法是:去掉height,只用padding….)