jsfiddle问题
我无法让这个极其简单的 jsfiddle 工作。它只是应该在单击按钮时提醒测试。我在这里缺少什么?
I can't get this extremely simple jsfiddle to work. Its just supposed to alert test when button is clicked. What am I missing here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您必须将加载方法更改为无换行(头部)。
它与 JavaScript 如何加载以及何时读取方法签名有关。 http://jsfiddle.net/u9nG6/11/
You have to change the load method to no wrap (head).
It has something to do with how the JavaScript gets loaded and when the method signature is read. http://jsfiddle.net/u9nG6/11/
选择 jQuery 框架来加载
onDomReady
,因此您的函数被包装在 jQuery 匿名函数$(function(){ });
中并且不可见。要么将 jQuery 更改为无换行(head)
加载,要么在全局范围内定义您的函数。jQuery framework is selected to load
onDomReady
so your function is wrapped in the jQuery anonymous function$(function(){ });
and is not visible. Either change jQuery to load asno wrap (head)
or define your function at the global scope.请参阅此处。
您需要在全局范围内定义
validateForm
函数,以便能够在 HTML 中使用它。否则,您将其定义为 onDomReady 事件范围内的函数,在该范围之外无法访问该函数。更“jQuery-ish”的方法是使用 jQuery 来处理
click
事件,如下所示:请参阅 此处 查看该建议的示例。
See here.
You needed to define your
validateForm
function at the global scope in order to be able to use it in the HTML like that. Otherwise you had it defined as a function within the scope of theonDomReady
event, which is inaccessible outside that scope.A more "jQuery-ish" approach would be to use jQuery to handle the
click
event like this:See here for an example of that suggestion.
您正在使用 jquery + ondomready。这意味着您编写的任何 JavaScript 都会被放置在其中
,
这会导致范围问题。您可以尝试以下方法。
You're using jquery + ondomready. This means any javascript you write is placed within
and
this leads to a scope problem. You can try the following instead.