首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入库jquery的错误函数

导入库jquery的错误函数
EN

Stack Overflow用户
提问于 2015-08-28 18:34:50
回答 4查看 115关注 0票数 0
代码语言:javascript
复制
<!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>
<title></title>
<script type="text/javascript" src="Scripts/jQuery/book.js"></script>
<script type="text/javascript" src="Scripts/jQuery/jquery.min.js"></script>

<style type="text/css">
#book {
  width:160px;
  height:160px;
  margin-top:15px;
  border: 1px solid black;
}
</style>

<script type="text/javascript">
    var book = new book("book");

    function makeCode() {
        var elText = document.getElementById("text");

        if (!elText.value) {
            alert("Input a text");
            elText.focus();
            return;
        }

        qrcode.makeCode(elText.value);
    }
    makeCode();

    $("#text").
    on("blur", function () {
        makeCode();
    }).
    on("keydown", function (e) {
        if (e.keyCode == 13) {
            makeCode();
        }
    });

</script>
</head>

<body>
<input id="text" type="text" value="create a book" style="width:80%" /><br />
<div id="qrcode"></div>
</body>
</html>

我创建了一个基本代码,但似乎没有调用makeCode()。我在"Scripts/jQuery/ book.js“下添加了导入的book.js和jquery.min.js。通过在输入中键入一个值,将调用makeCode。

EN

回答 4

Stack Overflow用户

发布于 2015-08-28 18:40:50

您需要确保DOM已准备就绪,否则可能还没有将元素加载到其中。

代码语言:javascript
复制
$(function(){

    makeCode();

    $("#text").
    on("blur", function () {
        makeCode();
    }).
    on("keydown", function (e) {
        if (e.keyCode == 13) {
            makeCode();
        }
    });

});

我不知道book函数在内部做了什么,但是如果它有任何DOM引用,那么也需要在DOM准备好之后调用它。

票数 1
EN

Stack Overflow用户

发布于 2015-08-28 18:41:48

http://jsfiddle.net/6oxu38gt/

Javascript应该在</body>之前位于页面的底部,并且您的jQuery命令应该位于一个准备好dom的包装器中(虽然在页面底部时并不是严格要求的)。

代码语言:javascript
复制
<!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>
<title></title>
<style type="text/css">
#book {
  width:160px;
  height:160px;
  margin-top:15px;
  border: 1px solid black;
}
</style>
</head>

<body>
<input id="text" type="text" value="create a book" style="width:80%" /><br />
<div id="qrcode"></div>

<!-- javascript at the end, and load jquery first -->
<script type="text/javascript" src="Scripts/jQuery/jquery.min.js"></script>
<script type="text/javascript" src="Scripts/jQuery/book.js"></script>

<script type="text/javascript">
    var book = new book("book");

    function makeCode() {
        var elText = document.getElementById("text");

        if (!elText.value) {
            alert("Input a text");
            elText.focus();
            return;
        }

        qrcode.makeCode(elText.value);
    }
    makeCode();

    $(function(){

        $("#text").
        on("blur", function () {
            makeCode();
        }).
        on("keydown", function (e) {
            if (e.keyCode == 13) {
                makeCode();
            }
        });

    });

</script>
</body>
</html>
票数 0
EN

Stack Overflow用户

发布于 2015-08-28 18:48:03

jQuery DOM必须准备就绪..可以将文档就绪函数看作是一个在页面元素加载后触发的自动执行函数。

将您的javascript放在document.ready代码中,如下所示...

代码语言:javascript
复制
$(document).ready(function() {
    //do jQuery stuff when DOM is ready
});

因此,对于您的示例:

代码语言:javascript
复制
<script type="text/javascript">
    $(document).ready(function() {
           var book = new book("book");

    function makeCode() {
        var elText = document.getElementById("text");

        if (!elText.value) {
            alert("Input a text");
            elText.focus();
            return;
        }

        qrcode.makeCode(elText.value);
    }
    makeCode();

    $("#text").
    on("blur", function () {
        makeCode();
    }).
    on("keydown", function (e) {
        if (e.keyCode == 13) {
            makeCode();
        }
    });
    });
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32269014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档