【转载】Select2插件 IE下 autofocus bug的解决方法
2017-03-27 10:34
555 查看
描述:
Select2插件在IE中,当页面加载完毕后会自动的focus,弹出本来应该点击input才会有个提示语。原因:
在select2的源码中第1849行左右,有一段监听input事件的代码,如下:this.$selection.on('keyup.search input', '.select2-search--inline',function (evt) { self.handleSearch(evt); });
可以看到这里是使用HTML5的input事件去监听input中值的变化的,并没有使用传统的change或者keydown等事件。
原因就出在这里,input事件在IE中是有bug的。在IE中,如果一个input带有placeholder属性,那么IE会自动触发这个input的input事件,而这是在其他浏览器中不会发生的。
解决方案
写一个对于IE的兼容性方法,在判断为IE的时候将input事件替换为keydown事件。var isIE = (function () { var ua = window.navigator.userAgent.toLowerCase(); if (ua.indexOf("msie") > 0 || ua.indexOf("trident") > 0 ) { return true; } else { return false; } }()); var input_event = !isIE ? 'input' : 'keydown'; this.$selection.on('keyup.search '+input_event, '.select2-search--inline',function (evt) { self.handleSearch(evt); });
文章作者:forevercjl
文章原文csdn链接:www.foreverpx.cn
转载请注明出处。
相关文章推荐
- Select2插件 IE下 autofocus bug的解决方法
- ie focus bug 解决方法
- ie focus bug 解决方法
- [转载] Eclipse反编译插件 Jodeclipse与JadClipse 与 常见问题解决方法
- 转载 Android遇到内存溢出(Out Of Memory)BUG的经验与解决方法
- IE 8不支持支付宝插件问题解决方法
- IE Bug--浮动对象外补丁的双倍距离的解决方法
- 10个常见的IE bug和解决方法
- jquery formValidator插件ajax验证,在内容不做修改的前提下提示错误的bug解决方法
- Firefox中autocomplete="off" 设置不起作用Bug的解决方法
- (转)jquery formValidator插件ajax验证,在内容不做修改的前提下提示错误的bug解决方法
- 关于在DataTable中执行DataTable.Select("条件")返回DataTable的解决方法[转载]
- 解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
- jquery formValidator插件ajax验证,在内容不做修改的前提下提示错误的bug解决方法
- 关于jsTree 1.0-rc1在IE下自定义图标显示不正常的BUG的解决方法
- IE下动态创建Input出现bug的解决方法
- IE Bug--浮动对象外补丁的双倍距离的解决方法
- MTK通过TRACE的栈信息寻找BUG原因与解决方法--转载
- select挡住div的解决方法以及frame问题和IE、FLASH与实用代码
- IE6 两个div有间隙的问题(IE 3px bug)解决方法