JsFiddle中的代码无效

时间:2015-08-06 07:00:02

标签: javascript html jsfiddle

我有一个查询,因为我想准备一个JSFiddle。但它不适用于小型点击程序。其中只有两行代码。

HTML

<body>
    <button onclick="javascript:launchdialog();">Click Me</button>
</body>

的JavaScript

function launchdialog() {
    alert('test');
}

我在两行代码中没有发现任何错误。 请查看此JSFiddle - http://jsfiddle.net/g47qqzra/

4 个答案:

答案 0 :(得分:5)

您可以在头部或身体中将选项设置为No wrap

当您使用onloadonDomReady时,您的代码将包含在loadready事件中调用的另一个函数中。因此,无法从该函数外部访问您的函数。你会得到错误

  

ReferenceError:未定义functionName

使功能no wrap成为全球,可以从任何地方访问。

Updated fiddle

Jsfiddle Doc

答案 1 :(得分:4)

<强>的onLoad

  • 这意味着包装代码,使其在onLoad窗口事件中运行。这在整个页面已加载(例如图像)时运行。

<强> onDomReady

  • 这意味着要包装代码,使其在onDomReady窗口事件中运行。这在DOM加载时运行。

没有换行 - <head>

  • 这会将您的JavaScript代码放在<head>部分

没有换行 - <body>

  • 这会将您的JavaScript代码放在<body>部分

我想指出,可以在jsFiddle's documentation中找到更多信息。

您的工作Fiddle

答案 2 :(得分:1)

在左侧设置&#34; No wrap - in <head>&#34;

Here is the updated JSFiddle link

答案 3 :(得分:1)

这是因为您没有加载脚本,并且在加载页面时找不到函数launchdialog()。如果将脚本放在head标记中,它将在加载页面之前加载,从而解决您的问题。 当您使用'onLoad'选项时,脚本仅在文档加载后加载,即最后加载。 只需在左侧选择“无包裹”

相关问题