本人在做一个导航首页,做搜索时,想用百度搜索智能提示功能,遇到了一个奇怪的问题。代码如下:<body> <input type="text" id="q"> <ul id="show"></ul> <script> function solve(data) { //得到百度API返回的数据 var Show = document.getElementById('show'); var html = ""; if (data.s.length) { Show.style.display = 'block'; var len = data.s.length; for (var i = 0; i < len; i++) { //逐条显示 html += '<li><a target="_blank" href="http://www.baidu.com/s?wd=' + data.s[i] + '">' + data.s[i] + '</a></li>'; } Show.innerHTML = html; } else { Show.style.display = "none"; } } var oQ = document.getElementById('q'), Show = document.getElementById('show'); oQ.onkeyup = function() { //当有键盘事件的时候 if (this.value != "") { var oScript = document.createElement("script"); //创建一个script标签,准备引入资源 oScript.src = 'http://suggestion.baidu.com/su?wd=' + this.value + '&cb=solve'; document.body.appendChild(oScript); } else { Show.style.display = "none"; } } </script></body>当前代码可执行,可以运行出正确结果。但是当我将其放到其他函数内部,就执行失败。代码如下:<body> <input type="text" id="q"> <ul id="show"></ul> <script> (function() { function solve(data) { //得到百度API返回的数据 var Show = document.getElementById('show'); var html = ""; if (data.s.length) { Show.style.display = 'block'; var len = data.s.length; for (var i = 0; i < len; i++) { //逐条显示 html += '<li><a target="_blank" href="http://www.baidu.com/s?wd=' + data.s[i] + '">' + data.s[i] + '</a></li>'; } Show.innerHTML = html; } else { Show.style.display = "none"; } }有大神知道原因吗?
添加回答
举报
0/150
提交
取消