我正在尝试在jsfiddle上创建一个小样,但是当我单击切换按钮时,click事件没有触发,它显示为myclick is not defined
。
我看过其他提到No wrap解决方案的答案,但是我现在在jsfiddle中看不到这样的配置选项。
jsfiddle:https://jsfiddle.net/5j9qgbxa/4/
答案 0 :(得分:2)
将加载类型更改为No wrap -bottom of the <body>
这里是Demo
答案 1 :(得分:1)
似乎类型为onload的javascript会在jsfiddle的开头创建javascript,如下所示:
window.onload=function(){
function myclick(){
alert("myclick");
}
}
<YourHTML>
在这种情况下,他将无法识别myclick(),因为它是稍后在HTML中创建的,并且不会由onload触发。可以避免发生这种情况的方法是在jsfiddle中看到的:https://jsfiddle.net/cqL9t8mh/1/
我在这里所做的是,删除按钮中的onclick =“ myclick”并将其替换为ID为“ btnToggle”。然后,在javascript部分中,您可以添加类型为ID的“ btnToggle”点击的addEventListener来触发您的myclick函数。
这将使您的代码布局像这样:
<YourHTML>
function myclick(){
alert("myclick");
}
在这种情况下,您的HTML会在函数之前首先创建,并且不再处于加载状态,因此每次单击按钮时都会触发它。