去掉combobox回车内容不匹配清空输入项
问题描述:easyui的combobox插件,输入的内容如果和选项不匹配时,按下回车会导致输入的内容被清空。
解决办法:要解决回车时,combobox输入内容和可选项目不匹配时清楚输入内容的问题,需要修改源代码,找到回车处理函数代码,注释掉或者退出代码执行。
本示例使用的easyui版本为1.4.3。用编辑器,如dreamweaver打开jQuery.easyui.min.js,找到function _956(e),大概在12301行,修改这个函数如下。
function _956(e){ var _957=e.data.target; var t=$(_957); var _958=t.data("combo"); var opts=t.combo("options"); switch(e.keyCode){ case 38: opts.keyHandler.up.call(_957,e); break; case 40: opts.keyHandler.down.call(_957,e); break; case 37: opts.keyHandler.left.call(_957,e); break; case 39: opts.keyHandler.right.call(_957,e); break; case 13: break;//增加这句代码,不执行enter回车代码 e.preventDefault(); opts.keyHandler.enter.call(_957,e); return false; case 9: case 27: _950(_957); break; default: if(opts.editable){ if(_958.timer){ clearTimeout(_958.timer); }
其他版本的easyui,自己用开发工具找绑定事件的代码入口,也不难。
或者查找$.fn.combo.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents类似的代码,得到keydown事件绑定的函数名称,在搜索函数名称定位enter事件处理代码
推荐查找:case 39:一找一个准!!!
来源:http://www.w3dev.cn/article/20160715/remove-combobox-enter-not-match-clear-input-text.aspx
转载于:http://blog.csdn.net/love_xiolan/article/details/52536718