我有以下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的HTML区域内移动脚本块正在工作。检查下面的一个。
我的代码有什么问题?有什么想法吗?
答案 0 :(得分:4)
默认情况下,JSFiddle将JS块包装到onLoad
函数:
......导致类似:
window.onload = function() {
function TestCall() {
alert("Test");
}
};
这意味着您的TestCall
方法已超出全局范围,无法从HTML属性访问。
将选项更改为No wrap - in <head>
或No wrap - in <body>
,它会起作用。
答案 1 :(得分:2)