我正在尝试在jsfiddle上创建一个小演示,但当我点击切换按钮时,click事件没有触发,它说myclick is not defined
。
我看过其他提到No wrap解决方案的答案,但我现在没有在jsfiddle中看到这样的配置选项。
jsfiddle:https://jsfiddle.net/5j9qgbxa/4/
似乎带有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部分中,您可以添加类型的addEventListener,单击ID“btnToggle”以触发myclick功能。
这将使你的代码布局如下:
<YourHTML>
function myclick(){
alert("myclick");
}
在这种情况下,您的HTML首先在您的函数之前创建,并且不再处于onload中,因此每次单击按钮时都会触发它。
将载荷类型更改为No wrap -bottom of the <body>
这是Demo