87,997
社区成员




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
</head>
<body>
<div>
<p><label>输入选择:</label><input id="input1" type="text" /></p>
<p id="suggest"></p>
<p><label>输入项二:</label><input id="input2" type="text" /></p>
</div>
<script type="text/javascript">
var timer=null;
$("#input1").focus(function () {
if(timer!=null){clearTimeout(timer);timer=null;}
$("#suggest").show();
var showtext = "<ul ><li><a href='javascript:chooseinput1(123)'>123</a></li>";
showtext += "<li><a href='javascript:chooseinput1(456)'>456</a></li></ul>";
$("#suggest").html(showtext);
});
$("#input1").blur(function () {
//$("#searchKeyTip").hide();
timer = setTimeout(function(){ $("#suggest").hide();},300);
});
function chooseinput1(obj) {
$("#input1").attr("value", obj);
$("#suggest").hide();
}
</script>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
function chooseinput1(obj) { //定义内容函数,为超级连接使用!
$("#input1").attr("value", obj);
$("#suggest").hide();
}
$(function(){ //做一个页面载入处理,防止出现过早点击导致获取不到对象的情况!
$("#suggest").hide();
$("#input1").focus(function () {
$("#suggest").show();
var showtext = "<ul id='ul'><li><a href='javascript:chooseinput1(123)'>123</a></li>"; //增加一个UL的id为后面的事件源判断做依据
showtext += "<li><a href='javascript:chooseinput1(456)'>456</a></li></ul>";
$("#suggest").html(showtext);
});
//$("#suggest").find("li").click(function(){$("#input1").val(this.innerHTML);});
document.onclick=function(e){//进行单击事件源的判断,这里就是核心了,不一定要单击,你改为其他方式也可以,看需求而定!
var e=e||window.event
var cc=e.srcElement||e.target;
if(cc.id!="suggest"&&cc.id!="input1"&&cc.id!="ul")
//判断单击的事件源的ID是否为我们要做的选择,如果不是就让#suggest消失,否则不做任何处理,保证这个时候依然能做选择,而不是失去焦点就消失!这个判断也可以增加其他元素,能达到自己的效果即可!
{$("#suggest").hide();}
}
});
</script>
</head>
<body>
<div>
<p><label>输入选择:</label><input id="input1" type="text" /></p>
<p id="suggest"></p>
<p><label>输入项二:</label><input id="input2" type="text" /></p>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
</head>
<body>
<div>
<p><label>输入选择:</label><input id="input1" type="text" /></p>
<p id="suggest"></p>
<p><label>输入项二:</label><input id="input2" type="text" /></p>
</div>
<script type="text/javascript">
var close = null;
$("#input1").focus(function () {
$("#suggest").show();
var showtext = "<ul><li><a href='javascript:chooseinput1(123)'>123</a></li>";
showtext += "<li><a href='javascript:chooseinput1(456)'>456</a></li></ul>";
$("#suggest").html(showtext);
});
$("#input1").blur(function () {
//$("#searchKeyTip").hide();
// 设定关闭标志
close = true;
// 这里添加一个鼠标移动事件,用来阻止延迟关闭
$("#suggest").mouseover(function(){
if(close == true) close = false;
}).mouseleave(function(){
// 想自动隐藏内容的话,这句可以启用
// hideSearch();
});
// 这里添加一个延迟关闭
setTimeout(hideSearch, 500);
});
function chooseinput1(obj) {
$("#input1").attr("value", obj);
hideSearch();
}
function hideSearch() {
// 只要不是明确声明阻止关闭,都执行关闭
if(close != false) {
// 清除事件
$("#suggest").unbind('mouseleave').unbind('mouseover');
$("#suggest").hide();
}
close = null;
}
</script>
</body>
</html>