天天看点

easyUI combobox 上下键选择触发onselect事件问题

easyUI combobox 上下键选择触发onselect事件问题:

    //重写combobox的上下键选择

if($.fn.combobox){  

    $.fn.combobox.defaults.keyHandler.down.call=function(_c){

    var _d="next";

var _e=$.data(_c,"combobox").options;

var _f=$(_c).combobox("panel");

var _10=_f.children("div.combobox-item-hover");

if(!_10.length){

_10=_f.children("div.combobox-item-selected");

}

_10.removeClass("combobox-item-hover");

var _11="div.combobox-item:visible:not(.combobox-item-disabled):first";

var _12="div.combobox-item:visible:not(.combobox-item-disabled):last";

if(!_10.length){

_10=_f.children(_d=="next"?_11:_12);

}else{

if(_d=="next"){

_10=_10.nextAll(_11);

if(!_10.length){

_10=_f.children(_11);

}

}else{

_10=_10.prevAll(_11);

if(!_10.length){

_10=_f.children(_12);

}

}

}

if(_10.length){

_10.addClass("combobox-item-hover");

var row=_e.finder.getRow(_c,_10);

if(row){

$(_c).combobox("scrollTo",row[_e.valueField]);

}

}

}

$.fn.combobox.defaults.keyHandler.up.call=function(_c){

    var _d="up";

var _e=$.data(_c,"combobox").options;

var _f=$(_c).combobox("panel");

var _10=_f.children("div.combobox-item-hover");

if(!_10.length){

_10=_f.children("div.combobox-item-selected");

}

_10.removeClass("combobox-item-hover");

var _11="div.combobox-item:visible:not(.combobox-item-disabled):first";

var _12="div.combobox-item:visible:not(.combobox-item-disabled):last";

if(!_10.length){

_10=_f.children(_d=="next"?_11:_12);

}else{

if(_d=="next"){

_10=_10.nextAll(_11);

if(!_10.length){

_10=_f.children(_11);

}

}else{

_10=_10.prevAll(_11);

if(!_10.length){

_10=_f.children(_12);

}

}

}

if(_10.length){

_10.addClass("combobox-item-hover");

var row=_e.finder.getRow(_c,_10);

if(row){

$(_c).combobox("scrollTo",row[_e.valueField]);

}

}

}