javascript - 如何在使用 JQuery 满足条件时自动运行 JS 函数而不会出错?

标签 javascript jquery html

基本上我的问题是我正在尝试制作一个在用户输入时自动更新的计算器。

我的主要问题是,无论出于何种原因,我都无法让我的代码正常工作。

我采用的方法是使用下面的代码:

      $(function() {
        $('#value').keyup(function (e)  {    
        if($(this).val().length >= 5)
        return sub();
        }) 
      }); 

但我一直收到错误:

"Uncaught ReferenceError: $ is not defined at index.html:40"

这是索引 HTML。 Return sub 在外部 JS 文件中。

<!DOCTYPE html>
<html lang="en">
<head>
    <script src="scripts.js"></script>
    <link href="style.css" rel="stylesheet" type="text/css">
    <meta charset="UTF-8">
    <title>Calculator</title>
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
    <link rel="apple-touch-icon" sizes="128x128" href="icon.png">
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> 
  </head>
    <body>
        <div action="#">
            <p>
                <label style="text-align:center;" for="valuename"><img id=img src="rs.png"> Value</label>
                <input id="value" name="valuename" type="tel">
            </p>
            <p>
                <label style="text-align:center;" for="valueprice">Buy Price</label>
                <input id="price" name="valueprice" type="number">
            </p>
            <p>
            </p>
            <p>
            </p>
            <div id="results1">
                Get:<img id=img src="rs.png"><b style="color:green;text-align:right" id="keep"></b>
                <br> Price <b style="color:green;">$</b><b style="color:green;" id="keeprate"></b></br>
            </div>
            <div id="results2">
                Sell:<img id=img src="rs.png"><b style="color:green;" id="sell"></b>
                <br> Earn <b style="color:green;">$</b><b style="color:green;text-align:right" id="profit"></br>
  </div>
  <script>
      $(function() {
        $('#value').keyup(function (e)  {    
        if($(this).val().length >= 2)
        return sub();
        }) 
      }); 
    </script>
</body>
</html>

我完全卡住了,把我的头发拉到这里,非常感谢任何帮助!

最佳答案

您使用的 cdn 有问题,导致错误 $ is not defined

如果您更新 cdn 以使用以下它应该可以工作。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> 

关于javascript - 如何在使用 JQuery 满足条件时自动运行 JS 函数而不会出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57585687/

相关文章:

ios - iOS 上的 Google +1 按钮

javascript - 为什么 Number.MAX_VALUE 是 1.7976931348623157e+308 而不是 9007199254740992e+1024?

Javascript 为 OR(||) 操作返回字符串

javascript - jQuery 提交不处理 "success"

javascript - 如何在 React 中实现输入更改时的去抖自动保存?

jquery - 有时 jQuery 数据表工作,有时不是?

html - 使用标签在 Shiny - R 中创建下拉菜单

javascript - jQuery.text() 不适用于 textarea 元素

asp.net - ASP.NET 回发后保持当前 jQuery Accordion Pane 打开?

c# - HTML 在浏览器中看起来不错,但在电子邮件中却不行