繁体   English   中英

有时 JavaScript 找不到我的函数,除非我将第一个字母大写

[英]Sometimes JavaScript doesn't find my function unless I make the first letter capital

有时,当我向 JavaScript 脚本添加新函数时(或者有时它甚至使用以前工作过的旧函数!)它会给我一个错误

include_moduleingabe.php:1537 Uncaught ReferenceError: (function name) is not defined at HTMLInputElement.onclick (include_moduleingabe.php:1537)

我总是尝试我能想到的一切:将名称更改为某些内容(通常是test() ),取消所有代码的注释以防万一它出错并且只放一个console.log("test"); 在其中,检查我是否以正确的名称调用它,复制并粘贴名称以确保没有拼写错误。 最近我一直只保留函数的名称,只是将函数定义和调用中的第一个字母改为大写。 因为有时,并非总是如此,但有时出于某种原因会起作用。

这是我最近的例子。 这是原来的,改函数名之前

function verwendbarkeit() {
  console.log("test");
}
<input type="checkbox" class="studiengang" id="weitererStudiengang2Wahlmodul" value="weiterer Studiengang 2 (Wahlmodul)" onclick="verwendbarkeit()">

控制台输出:

未捕获的类型错误:verwendbarkeit 不是 HTMLInputElement.onclick 的函数 (include_moduleingabe.php:1537)

功能(将首字母改为大写后)

function Verwendbarkeit() { 
  console.log("test");
}
<input type="checkbox" class="studiengang" id="weitererStudiengang2Wahlmodul" value="weiterer Studiengang 2 (Wahlmodul)" onclick="Verwendbarkeit()">

控制台输出:

test 

这太令人沮丧了。 谁能向我解释发生了什么,为什么会这样? 为什么它只是有时? 我通常更喜欢以小写字母开头我的函数,然后使用驼峰命名,但这实际上是不可能的!

问题是我有一个与函数名称具有相同 ID 的 HTML 元素。 HTML ID 的覆盖 JavaScript 函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM