为了账号安全,请及时绑定邮箱和手机立即绑定

函数写成立即执行函数或放到其他函数内部,就执行失败

函数写成立即执行函数或放到其他函数内部,就执行失败

ABOUTYOU 2019-03-20 22:19:41
本人在做一个导航首页,做搜索时,想用百度搜索智能提示功能,遇到了一个奇怪的问题。代码如下:<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";                }            }有大神知道原因吗?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 365 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信