javascript - 简单的 Javascript 函数在 jsfiddle 中不起作用

标签 javascript html css

我有以下 HTML 代码。

 <select onChange="TestCall()">
<option>Text1</option>
<option>Text2</option>
<option>Text3</option>
<option>Text4</option>
</select>

我的 JavaScript 有一个简单的警告消息,如下所示。

 function TestCall()
{
 alert("Test");
}

检查以下 Jsfiddle。我在 jsfiddle 的 javascript 区域添加了我的脚本。它不起作用。

JSFIDDLE NOT WORKING HERE

但是如果我将脚本 block 移动到 jsfiddle 的 HTML 区域内,它就可以正常工作。检查以下内容。

JSFIDDLE WORKING HERE

我的代码有什么问题?有什么想法吗?

最佳答案

默认情况下,JSFiddle 将 JS block 包装到 onLoad 中功能:

...导致类似的事情:

window.onload = function() {
    function TestCall() {
        alert("Test");
    }
};

这意味着您的 TestCall方法超出全局范围,无法从 HTML 属性访问。

将选项更改为 No wrap - in <head>No wrap - in <body>它将起作用。

演示: http://jsfiddle.net/Q9ukX/3/

关于javascript - 简单的 Javascript 函数在 jsfiddle 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23993308/

相关文章:

html - body 奇怪的额外顶部空间

html - Google map infoWindow : different outcomes for images and text with the same css 的图像和文本样式问题

jquery - 在单行中滑动 div

html - 如何将 <li> 放在 <ul> 之上

javascript - 在 adobe reader 中启用使用权限后,无法使用 pdf.js 获取动态 xfa 表单字段

javascript - Node 快速验证签名的cookie

javascript - Intro.js:突出显示区域未按预期工作

html - 为什么这个 html 边框只有 3 个边?

javascript - 如何使用javascript发送邮件

javascript - 动态更改表单操作以生成 iframe