我有一个Jquery Autosuggest下拉列表。 该功能正常运行。
现在我希望当我右键单击或点击时,显示框必须一直显示。因为我在autosuggest搜索有链接时发现了问题。链接无法打开,因为在点击链接之前,下拉框已关闭。
到目前为止我的JS代码:
$(document).ready(function(){
$(".searchs").keyup(function()
{
var searchbox = $(this).val();
var dataString = 'searchword='+ searchbox;
if(searchbox=='')
{
$("#display").hide();
}
else
{
$.ajax({
type: "POST",
url: "searchs.php",
data: dataString,
cache: false,
success: function(html)
{
$("#display").html(html).show();
}
});
}
return false;
});
$(".searchs").blur(function(){
$("#display").hide();
});
$(".searchs").focus(function(){
var seachbox = $(searchbox).val();
if(seachbox != '')
{
$("#display").show();
}
});
});
有人有想法吗?
答案 0 :(得分:0)
这是继续显示自动完成结果列表的方式:DEMO
$("#tags").autocomplete({
source: availableTags,
close : function (event, ui) {
val = $("#tags").val();
$("#tags").autocomplete("search", val).focus();
return false;
}
});
答案 1 :(得分:0)
您的下拉框关闭的原因是因为无论何时取消选择“搜索”类,都会隐藏下拉框。要解决这个问题,你可以尝试一些不同的东西。
1:将你的下拉框(id为'display'的那个)放入 '搜索'课程。这看起来像是:
<div id = "display" class = "searchs"></div>
2:当你的$(".searchs").blur
事件被触发时,在执行$("#display").hide();
之前检查新焦点是否是你的显示div:
$(".searchs").blur(function(){
if($("#display").blur(function(){ //<--- if the new focus is not the display div, then hide display
$("#display").hide();
}
});