博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery autocomplete 在IE11中出现打开网页输入框有默认值时下拉列表是已经打开的状态解决...
阅读量:4970 次
发布时间:2019-06-12

本文共 2254 字,大约阅读时间需要 7 分钟。

页面input标签使用jq插件实现自动完成功能的时候发现,在IE11浏览器环境下页面input标签有绑定的默认值时,autocomplete 下拉框是直接显示出来的。

网上说的设置autocomplete 为false,貌似不能解决问题。。。。

经过排查发现,在谷歌浏览器环境下给输入框绑定默认值不会出现该情况,猜测应该是IE是input输入框值有变化时就会直接出发自动完成功能,尝试在js代码中添加

判断当前input是否已经获取焦点,只有获取了焦点才执行请求。

1   $(function () { 2         //自动完成 3         $("#Diag").autocomplete({ 4             source: function (request, response) { 5                 $("#Diag")[0].title = ""; 6                 //IE11下input填充完数据就会触发,过滤掉没获取焦点的触发 8                 var focusid = document.activeElement.id; 9                 if (focusid != 'Diag') {10                     return;11                 }12                 $.ajax({13                     type: "POST",14                     url: "/DataMap/GetHos_Diagnosis",15                     dataType: "json",16                     data: { queryStr: request.term, HospFlag: $("#setHospFlag option:selected").val() },17                     success: function (data) {18                         this.title = "";19                         response($.map(data, function (item) {20                             return {21                                 value: item.Name, id: item.Code22                             }23                         }));24                         if (data.length > 0) {25                             autoFlag = true;26                         } else {27                             autoFlag = false;28                         }29                        30                     },31                     error: function (xhr) {32                         if (xhr.status === 401) {33                             window.location.href = xhr.statusText;34                             return;35                         }36                     }37                 });38             },39             select: function (event, ui) {40                 setDiagnosis(ui.item.id, ui.item.value);41                 //event.preventDefault();//取消选择填充42                 //$('#QueryKeywords').val('');//清空输入框43             },44             minLength: 2,45             autoFocus: true,46             close: function (event, ui) {
//菜单关闭事件47 autoFlag = false;48 }49 }50 );51 }); 测试发现,ie11下已正常。

 

转载于:https://www.cnblogs.com/wangdongying/p/11411299.html

你可能感兴趣的文章
单片机复位电路
查看>>
php json_decode失败,返回null
查看>>
3-day3-list-truple-map.py
查看>>
Edit控件显示多行文字
查看>>
JS第二周
查看>>
dataTable.NET的search box每輸入一個字母進行一次檢索的問題
查看>>
Python 文件处理
查看>>
邻接表详解
查看>>
迭代dict的value
查看>>
eclipse package,source folder,folder区别及相互转换
查看>>
Py 可能是最全面的 python 字符串拼接总结(带注释版)
查看>>
《Java程序设计实验》 软件工程18-1,3 OO实验2
查看>>
【Herding HDU - 4709 】【数学(利用叉乘计算三角形面积)】
查看>>
OPENSSL使用方法
查看>>
接口操作XML
查看>>
idhttp访问DATASNAP有密码验证的中间件
查看>>
libmidas.so.2
查看>>
开发WINDOWS服务程序
查看>>
httpencode编码
查看>>
cross socket和msgpack的数据序列和还原
查看>>