首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按下按钮时不调用JavaScript函数

按下按钮时不调用JavaScript函数
EN

Stack Overflow用户
提问于 2022-09-07 00:04:52
回答 2查看 94关注 0票数 0

我有一个相对微不足道的问题,这使我在几个小时内陷入困境。

我正在尝试让我的按钮调用一个记录到控制台的JavaScript函数。

这是我的HTML

代码语言:javascript
运行
复制
 <!DOCTYPE html>
<html lang="en">
<head>

    <script type="text/javascript" src="script.js"></script>

    <meta charset="UTF-8">
    <title>McKinsey Prep</title>

    <div>
        <button onclick="click()">Some Button</button>
    </div>
</head>
<body>

</body>
</html>

此处的按钮正在此JavaScript文件中调用click()方法

代码语言:javascript
运行
复制
 console.log("Code has reached here")
    function click(){
     console.log("Button was clicked REEEEe")
}

script.js文件只具有此功能,I不希望在我的HTML中执行代码

当我运行index.js时,它会打印第一个print语句,但是当我单击按钮时,函数调用中的console.log不会出现在控制台上。

注意事项

我会点击index.html并按run来运行我的代码。

有什么问题吗?

EN

回答 2

Stack Overflow用户

发布于 2022-09-07 00:16:30

Click()是一个保留的名称,您不能在函数上使用它,因为JS上有一个带有该名称的本机方法。

更改函数的名称,然后再试一次。下面是一个例子

代码语言:javascript
运行
复制
<button onclick="clicked()">Some Button</button>

 function clicked(){
 console.log("Button was clicked REEEEe")}
票数 2
EN

Stack Overflow用户

发布于 2022-09-07 00:33:07

函数的名称click是问题所在。click不是JavaScript中的保留字,但名称确实存在于onclick处理程序运行的范围的其他地方。你有两个选择:

  1. 更改函数名(例如,doClick)。
  2. 通过在window.click处理程序中将函数名引用为onclickonclick="window.click()"来限定函数名

这里有一个更深入的解释:javascript函数名不能设置为单击?

与此无关,但在调试过程中可能会让人感到困惑:在示例代码中,<div>位于HTML页面的<head>部分中。实际上,该内容应该在下面的<body>部分中,如下所示:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <script type="text/javascript" src="script.js"></script>
    <meta charset="UTF-8">
    <title>McKinsey Prep</title>
</head>
<body>
    <div>
        <button onclick="doClick()">Some Button</button>
    </div>
</body>
</html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73628800

复制
相关文章

相似问题

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