ie11下input输入框placeholder 属性与select存在的bug

一直忙着做项目,很久没写东西了,昨天无意间发现博客也被封了,管理员帮忙解锁后,今天写点东西,打发此刻一丝清闲!

言归正传,昨天测试提了一个bug,说点击ie11下点击输入框后,然后鼠标直接点击select选择菜单,发现ie11下select的option选项长度明显增加了,而且在项目中直接溢出了窗口,真佩服测试,这都测出来!

正常情况下:

ie11下input输入框placeholder 属性与select存在的bug_第1张图片ie11下input输入框placeholder 属性与select存在的bug_第2张图片

先点击输入框后,然后直接点击select:


ie11下input输入框placeholder 属性与select存在的bug_第3张图片


然后我把输入框placeholder属性去掉,点击input聚焦后,直接再点击select,这时候select下option长度并没有发生变化,找到问题所在,至于原因,没有精力查找,因为我对ie重来都没好印象过,除了做项目测试用,生活中从来没用过。

解决方法一:

最开始没想太多,既然是placeholder导致的,那就是自己写了span标签来模拟placeholder的js方法出来。

解决方法二:

如果input存在placeholder,鼠标点击input,然后在点击页面空白处,当input失去焦点,再点击select,也不会出现option长度超出的问题。于是可以对select添加个mouseover或mouseenter事件,当经过select时,让input失去焦点,这样能保留input [text]的placeholder属性,比第一种方法简单多。

至于深层次原因,只有找到触发因素了。











你可能感兴趣的:(ie11下input输入框placeholder 属性与select存在的bug)