转自:http://zzagain.blog.163.com/blog/static/16930562820125595854708/
使用方法:
百度提供了2种自定义调用的方法
方法一:
第一步,
为需要添加“百度搜索框提示”功能的<input>标签添加baiduSug属性。例如:
<input type="text" name="word" baiduSug="1|2">
当设置baiduSug=1时,用户选中sug词条时默认执行表单提交动作;
当设置baiduSug=2时,用户选中sug词条时不执行表单提交动作。
第二步,
在页面底部加入js文件:
<script charset="gbk" src="http://www.baidu.com/js/opensug.js"></script>
经Gonten测试,使用该方法非常简单,而且使用方便,提示下拉框可以根据输入框宽度自动调整。
看效果:http://www.baidu.com/search/sug/demo1.html
实例代码如下:
<!DOCTYPE html>
<!--STATUS OK-->
<html><head>
<meta http-equiv="X-UA-Compatible" content="IE=7">
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<title>百度搜索帮助中心-免费代码</title>
<style>
p{font-size:13px;line-height:2}
</style>
</head>
<body>
<!-- 页面中的输入框 -->
<p>
您的输入框: <input type="text" size="40" baiduSug="2">
</p>
</body>
<!-- 百度搜索框提示 -->
<script charset="gbk" src="http://www.baidu.com/js/opensug.js"></script>
</html>
方法二:
第一步,
在网页底部引入Javascript文件:
<script charset="gbk" src="http://www.baidu.com/js/opensug.js"></script>
第二步,
在Javascript程序中调用BaiduSuggestion.bind()方法将“百度搜索框提示”功能和页面上的元素进行绑定。
BaiduSuggestion.bind()的具体形式为:
BaiduSuggestion.bind(inputObj|inputId,[params],[confirmCallback]);
inputObj|inputId:
为需要绑定搜索框提示功能的input对象或input对象的id。
绑定搜索框提示功能时用到的参数,必须以Json形式给出,例如:
var params = {
'XOffset': 0, //提示框位置横向偏移量,单位px
'YOffset': 0, //提示框位置纵向偏移量,单位px
'width': 350, //提示框宽度,单位px
'fontColor': '#000', //提示框文字颜色
'fontColorHI': '#FFF', //提示框高亮选择时文字颜色
'fontSize': '12px', //文字大小
'fontFamily': '宋体', //文字字体
'borderColor': '#000', //提示框的边框颜色
'bgcolorHI': '#000', //提示框高亮选择的颜色
'sugSubmit': false //选中提示框中词条时是否提交表单
}
confirmCallback(txt):
当用户选择提示中具体选项时的回调函数,txt为用户选择的内容。
提示:
Javascript代码请添加到网页中</body>标签的后面。
Javascript文件的应在BaiduSuggestion.bind()方法被调用之前引入。
查看样例效果
实例代码如下:
<!DOCTYPE html>
<!--STATUS OK-->
<html><head>
<meta http-equiv="X-UA-Compatible" content="IE=7">
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<title>百度搜索帮助中心-免费代码</title>
<style>
p{font-size:13px;line-height:2}
</style>
</head>
<body>
<!-- 准备通过程序动态添加提示功能的input -->
<p>
您的输入框:<input id="ipt1" type="text" style="width:200px;padding:1px;border:1px solid gray">
当前选择文字:<span id="alertSpan" style="font-weight:bold"></span>
</p>
</body>
<!-- 百度搜索框提示 -->
<script charset="gbk" src="http://www.baidu.com/js/opensug.js"></script>
<!-- 程序示例 -->
<script type="text/javascript">
var txtObj = document.getElementById("alertSpan");
//回调函数,用于获取用户当前选择的文字
function show(str){
txtObj.innerHTML = str;
}
var params = {
"XOffset":0, //提示框位置横向偏移量,单位px
"YOffset":0, //提示框位置纵向偏移量,单位px
"width":204, //提示框宽度,单位px
"fontColor":"#f70", //提示框文字颜色
"fontColorHI":"#FFF", //提示框高亮选择时文字颜色
"fontSize":"12px", //文字大小
"fontFamily":"宋体", //文字字体
"borderColor":"gray", //提示框的边框颜色
"bgcolorHI":"#03c", //提示框高亮选择的颜色
"sugSubmit":false //在选择提示词条是是否提交表单
};
BaiduSuggestion.bind("ipt1",params,show);
</script>
</html>
实例代码如下:
一般情况下使用第一种方法就够了,使用比较方便,如果你会使用第二种也不错。第一种方法可以方便的屏蔽掉在搜索提示的右下角是有“百度搜索框提示”的文字,就是在输入框上面添加:
<style>
.bdsug_copy{
display: none;
}
</style>
就可以了,也可以添加到<head>里。
但第二种方法如此做无效。