JavaScript 中的 onclick 事件函数

发布于 2024-10-27 07:49:18 字数 248 浏览 6 评论 0原文

我在带有按钮的 HTML 页面中有一些 JavaScript 代码。我有一个名为 click() 的函数,用于处理按钮的 onClick 事件。按钮的代码如下:

<input type="button" onClick="click()">button text</input>  

问题是,当单击按钮时,没有调用该函数。我在这里做错了什么?

I have some JavaScript code in an HTML page with a button. I have a function called click() that handles the onClick event of the button. The code for the button is as follows:

<input type="button" onClick="click()">button text</input>  

The problem is that when the button is clicked, the function is not called. What am I doing wrong here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

够钟 2024-11-03 07:49:18

两个观察结果:

  1. 你应该写

    
    

    而不是

    <输入类型=“按钮”>按钮文本
    
  2. 您应该重命名您的函数。函数 click() 已在按钮上定义(它模拟单击),并且获得比您的方法更高的优先级。

请注意,这里有一些建议是完全错误的,您不应该在它们上花费太多时间:

  • 不要使用 onclick="javascript:myfunc()"。仅在超链接的 href 属性内使用 javascript: 前缀:
  • 您不必以分号结尾。 onclick="foo()"onclick="foo();" 都工作得很好。
  • HTML 中的事件属性不区分大小写,因此 onclickonClickONCLICK 都可以工作。通常的做法是用小写字母编写属性:onclick请注意,JavaScript 本身区分大小写,因此如果您编写 document.getElementById("...").onclick = ...,那么它必须全部小写

Two observations:

  1. You should write

    <input type="button" value="button text" />
    

    instead of

    <input type="button">button text</input>
    
  2. You should rename your function. The function click() is already defined on a button (it simulates a click), and gets a higher priority then your method.

Note that there are a couple of suggestions here that are plain wrong, and you shouldn't spend to much time on them:

  • Do not use onclick="javascript:myfunc()". Only use the javascript: prefix inside the href attribute of a hyperlink: <a href="javascript:myfunc()">.
  • You don't have to end with a semicolon. onclick="foo()" and onclick="foo();" both work just fine.
  • Event attributes in HTML are not case sensitive, so onclick, onClick and ONCLICK all work. It is common practice to write attributes in lowercase: onclick. note that javascript itself is case sensitive, so if you write document.getElementById("...").onclick = ..., then it must be all lowercase.
日裸衫吸 2024-11-03 07:49:18

click() 是一个保留字并且已经是一个函数,将名称从 click() 更改为 runclick() 它可以正常工作

click() is a reserved word and already a function, change the name from click() to runclick() it works fine

笑着哭最痛 2024-11-03 07:49:18

试试这个

<input type="button" onClick="return click();">button text</input>  

Try this

<input type="button" onClick="return click();">button text</input>  
鹤舞 2024-11-03 07:49:18

检查您是否正在调用相同的函数。

<script>function greeting(){document.write("hi");}</script>

<input type="button" value="Click Here" onclick="greeting();"/>

Check you are calling same function or not.

<script>function greeting(){document.write("hi");}</script>

<input type="button" value="Click Here" onclick="greeting();"/>
£噩梦荏苒 2024-11-03 07:49:18

尝试修复大小写。 onclick 而不是 onClick

参考:Mozilla开发者文档

Try fixing the capitalization. onclick instead of onClick

Reference: Mozilla Developer Docs

眉目亦如画i 2024-11-03 07:49:18

我建议你这样做:

希望这对您有帮助!

I suggest you do:
<input type="button" value="button text" onclick="click()">
Hope this helps you!

↘紸啶 2024-11-03 07:49:18
<script>
//$(document).ready(function () {
function showcontent() {
        document.getElementById("demo22").innerHTML = "Hello World";
}
//});// end of ready function
</script>

我遇到了同样的问题,onclick 函数调用不起作用。我已将该函数包含在通常的“$(document).ready(function(){});”中block 用于包装 jquery 脚本。评论这个块解决了这个问题。

<script>
//$(document).ready(function () {
function showcontent() {
        document.getElementById("demo22").innerHTML = "Hello World";
}
//});// end of ready function
</script>

I had the same problem where onclick function calls would not work. I had included the function inside the usual "$(document).ready(function(){});" block used to wrap jquery scripts. Commenting this block out solved the problem.

避讳 2024-11-03 07:49:18

是的,您应该更改函数的名称。 Javascript有保留方法和onclick = >>>>>单击()<<<<是其中之一,所以只需重命名它,在其末尾添加一个“s”或其他内容即可。
强文本`

Yes you should change the name of your function. Javascript has reserved methods and onclick = >>>> click() <<<< is one of them so just rename it, add an 's' to the end of it or something.
strong text`

她说她爱他 2024-11-03 07:49:18

今天这也发生在我身上。函数名可能与关键字冲突。我的例子是scrape()。我更改了函数名称,一切正常。

Today this also happened to me. The function name maybe conflicts with keywords. My case is scrape(). I change the function name, everything works fine.

dawn曙光 2024-11-03 07:49:18

项目不响应事件的一个可能原因是该项目与另一个项目重叠。
在这种情况下,您可能需要设置更高的 z-index 代表您想要点击的项目。

One possible cause for an item not responding to an event is when the item is overlapped by another.
In that case, you may have to set a higher z-index for the item you wish to click on.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文