我有一个查询,因为我想准备一个JSFiddle。但它不适用于小型点击程序。其中只有两行代码。
HTML
<body>
<button onclick="javascript:launchdialog();">Click Me</button>
</body>
的JavaScript
function launchdialog() {
alert('test');
}
我在两行代码中没有发现任何错误。 请查看此JSFiddle - http://jsfiddle.net/g47qqzra/
答案 0 :(得分:5)
您可以在头部或身体中将选项设置为No wrap
。
当您使用onload
或onDomReady
时,您的代码将包含在load
或ready
事件中调用的另一个函数中。因此,无法从该函数外部访问您的函数。你会得到错误
ReferenceError:未定义functionName
使功能no wrap
成为全球,可以从任何地方访问。
答案 1 :(得分:4)
<强>的onLoad 强>:
onLoad
窗口事件中运行。这在整个页面已加载(例如图像)时运行。<强> onDomReady 强>:
onDomReady
窗口事件中运行。这在DOM加载时运行。 没有换行 - <head>
:
<head>
部分 没有换行 - <body>
:
<body>
部分我想指出,可以在jsFiddle's documentation中找到更多信息。
您的工作Fiddle
答案 2 :(得分:1)
在左侧设置&#34; No wrap - in <head>
&#34;
答案 3 :(得分:1)
这是因为您没有加载脚本,并且在加载页面时找不到函数launchdialog()
。如果将脚本放在head标记中,它将在加载页面之前加载,从而解决您的问题。
当您使用'onLoad'选项时,脚本仅在文档加载后加载,即最后加载。
只需在左侧选择“无包裹”