我将jquery-UI1.9用于jquery-autocomplete小部件。我试图在悬停jquery自动完成菜单项列表的同时,将列表项的背景颜色改为蓝色,将字体颜色改为白色。我可以通过添加css类来更改悬停列表项时的背景颜色,也可以通过添加焦点功能来更改悬停列表项时的字体颜色。
_focus: function (event, ui) {
event.preventDefault();
var htmlString= $('.ui-autocomplete').html();
//Recently unFocused Element
var foundUnFocusedEle = $(htmlString).find('.focusedElement');
if(foundUnFocusedEle.length != 0) {
var unFocusedEleId = $(foundUnFocusedEle).attr('id');
var unFocusedEleHtml = $('#'+unFocusedEleId).html();
if($(unFocusedEleHtml).hasClass('add-search-result-label')
&& $(unFocusedEleHtml).hasClass('add-search-result-sublabel')) {
$('#'+(foundUnFocusedEle).attr('id')).find('.add-search-result-label').removeClass('hover-search-result-label');
$('#'+(foundUnFocusedEle).attr('id')).find('.add-search-result-label').addClass('search-result-label');
$('#'+(foundUnFocusedEle).attr('id')).find('.add-search-result-label').removeClass('add-search-result-label');
$('#'+(foundUnFocusedEle).attr('id')).find('.add-search-result-sublabel').removeClass('hover-search-result-sublabel');
$('#'+(foundUnFocusedEle).attr('id')).find('.add-search-result-sublabel').addClass('search-result-sublabel');
$('#'+(foundUnFocusedEle).attr('id')).find('.add-search-result-sublabel').removeClass('add-search-result-sublabel');
}
$('#'+unFocusedEleId).removeClass('focusedElement');
}
//ui-state-focus
var foundUiStateFocus = $(htmlString).find('.ui-state-focus');
//console.log(foundUiStateFocus);
if(foundUiStateFocus.hasClass('ui-state-focus')) {
//console.log('it has ui-state-focus');
var focusedEleId = $(foundUiStateFocus).attr('id');
//console.log('id: '+focusedEleId);
$('#'+focusedEleId).addClass('focusedElement');
var focusedEleHtml = $('#'+focusedEleId).html();
if($(focusedEleHtml).hasClass('search-result-label') && $(focusedEleHtml).hasClass('search-result-sublabel')) {
//console.log('it has search-result-label');
//console.log($('#'+(foundUiStateFocus).attr('id')).find('.search-result-label'));
$('#'+(foundUiStateFocus).attr('id')).find('.search-result-label').addClass('add-search-result-label');
$('#'+(foundUiStateFocus).attr('id')).find('.search-result-label').removeClass('search-result-label');
$('#'+(foundUiStateFocus).attr('id')).find('.search-result-sublabel').addClass('add-search-result-sublabel');
$('#'+(foundUiStateFocus).attr('id')).find('.search-result-sublabel').removeClass('search-result-sublabel');
$('#'+(foundUiStateFocus).attr('id')).find('.add-search-result-label').addClass('hover-search-result-label');
$('#'+(foundUiStateFocus).attr('id')).find('.add-search-result-sublabel').addClass('hover-search-result-sublabel');
}
}
}现在,当我悬停列表项目时,字体颜色和背景颜色发生了变化,但当我从小工具或移动到搜索文本框时。我需要用原始颜色而不是白色来改变字体颜色。所以我创建了mouseout / mouseleave函数,但是它没有被调用。有人能告诉我,当你将鼠标悬停在列表上,然后从小部件中出来时,哪个事件/函数会被调用吗?
https://stackoverflow.com/questions/38242081
复制相似问题