Select2外掛 IE下 autofocus bug的解決方法
描述:
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外掛常用方法彙總
- 寫出幾種IE6 BUG的解決方法
- 前端外掛之Select2使用前端
- 常見的幾種IE6 BUG及其解決的方法
- python 安裝外掛太慢解決方法Python
- IE CSS Bug系列:高度額外擴充套件的BugCSS套件
- IE下的圖片空隙間距BUG和解決辦法
- IE CSS Bug系列:IE6中Min-Height的解決辦法CSS
- Xcode 升級,外掛不好用解決方法XCode
- jira-dev-tool外掛安裝失敗的解決方法dev
- IE雙倍邊距BUG 觸發 解決方案
- 解決angular4 無法在ie下載檔案的方法Angular
- FCKEditor在IE10下的不相容問題解決方法IE10
- 關於contenteditable的IE下的bug
- 國產外掛電感廠家科普外掛共模電感引腳過長的解決方法
- Chrome安裝sci-hub外掛遇到的問題解決方法Chrome
- IE瀏覽器外掛開發瀏覽器
- 配置vim外掛遇到youcompleteme外掛問題解決方案
- kewastUnPackStats(): oracle 11.2.0.1的bug解決方法ASTOracle
- IE CSS Bug系列:IE6忽略!important的BugCSSImport
- [外掛擴充套件]解決onethink多圖上傳的外掛分享!套件
- Eclipse外掛之FindbugsEclipse
- 解決IE中img.onload失效的方法
- ie9不顯示flash的解決方法IE9
- IE6中的常見BUG與相應的解決辦法
- IE 不支援 Promise 解決辦法 (或者 promise 未定義)的解決方法Promise
- win10系統執行activex外掛被禁用的解決方法Win10
- Entity Framework的預設值BUG解決方法Framework
- IE CSS Bug系列:邊框在:hover狀態下消失 BugCSS
- 解決xcode升級外掛失效XCode
- IE8瀏覽器下,解決jQuery append方法不生效的問題瀏覽器jQueryAPP
- 關於inline-block在IE8下無效的解決方法inlineBloC
- Findbugs外掛使用圖文指南
- seleniumRC解決ie下證書問題
- 記一次離線下載nessus 外掛的方法
- MacOS 不顯示 SD 卡的 bug 解決方法Mac
- IE CSS Bug系列:IE7中:hover絕對定位的BugCSS
- Win10系統flash外掛被360替換後IE無法播放flash怎麼解決Win10