去掉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