在按钮上使用onclick属性调用的Javascript函数
javascript function called with an onclick attribute on button
我不明白为什么这不起作用。我坚持w3schools的参考。下面的代码是:
HTML:<button onclick="click()">Test</button>
Javascript: function click() {
alert("Hello !");
}
它不起作用,因为您已经将JSFiddle配置为将JavaScript封装在一个函数中,并将其称为onload
。这会阻止你的函数成为一个全局函数,这样它就不在你的内部事件处理程序属性的范围内了。
此外,在您修复之后,内在事件属性的奇怪范围规则(我不知道这些都记录在哪里)意味着click
被解析为按钮的click
属性,然后搜索范围远到足以找到全局click
函数。
最简单的解决方法是:
- 将函数重命名为不与现有属性名称冲突的名称 从JSFiddle左边的菜单中选择不换行选项
正确的解决方案是将事件处理程序附加到JavaScript中。现在不是20世纪90年代,我们应该避免使用那个时代的技术,因为它无法区分不同的关注点。把JS放在一个地方,HTML放在另一个地方。
<button>Test</button>
<script>
document.querySelector('button').addEventListener('click', click);
function click(evt) {
alert("Hello !");
}
</script>
这段代码不起作用,因为已经有一个click
原生方法,遮蔽它会阻止正常的单击事件处理。给它另一个名字,它就会起作用。
查看的一个方法是将按钮定义为
<button onclick="console.log(click)">Test</button>
我认为你不能给一个函数名作为click
。更改函数名&
click
似乎有所保留。尝试重命名该方法:http://jsfiddle.net/qeCE5/1/
function clickMe() {
alert("Hello !");
}
您需要更改函数名称。'click'可能是一个保留关键字,所以它不会识别当你调用它。将其重命名为其他名称。"democlick()"。另外,不要忘记用'.html保存代码。扩展。如果有什么问题请告诉我。谢谢。
相关文章:
- 我需要从php调用javascript或jquery
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 使用html表单中的参数调用JavaScript函数
- 可以´t调用JavaScript中的函数
- 在按钮上调用Javascript函数
- 如何从Objective-C代码中调用javascript代码
- 当库在页脚中加载时,基于PHP条件调用Javascript
- 可以't在Jasmine中调用Javascript函数
- 在page_load事件上调用javascript函数
- 如何在ajax中调用javascript对象的方法
- 如何使用WPF调用JavaScript对象的函数
- 我们可以用参数对象集合而不是原始数据来调用JavaScript collection.reduce()方法吗
- 在新的浏览器选项卡上加载新的aspx页面后调用JavaScript函数
- 从附加文本调用javascript(订单车)
- 在线程循环中调用JavaScript
- 在指定时间后多次调用Javascript中的函数
- 未调用Javascript onscroll事件
- 如何正确调用Javascript中的匿名函数
- 从字符串调用javascript函数
- 无法从活动调用 javascript 函数