更新你的小提琴使用no wrap - in <head>
或no wrap in <body>
或jsFiddle默認將腳本包裝到window.onload
。這導致的元素來呈現第一,爲onclick
呈現爲它只被加載窗口後添加,這樣的劇本還不存在:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>- jsFiddle demo</title>
<script type="text/javascript" src="/js/lib/dummy.js"></script>
<link rel="stylesheet" type="text/css" href="/css/result-light.css">
<style type="text/css">
</style>
<script type="text/javascript">
//<![CDATA[
window.onload = function() {
function test() {
alert("TEST");
}
function arrayOfOandZ(size) {
var arrayOFOnZ = new Array(size);
//Fill array
for (var x = 0; x < size; x++) {
arrayOfOnZ[x] = size % 2;
}
alert(arrayOFOnZ.join('\n'));
}
} //]]>
</script>
</head>
<body>
<input type="button" value="5 Items" onclick="test()">
<input type="button" value="6 Items" onclick="arrayOfOandZ(6)">
<input type="button" value="7 Items" onclick="arrayOfOandZ(7)">
</body>
</html>
DEMO - 在小提琴
固定設置
no wrap in <head>
例如直接呈現腳本到head
沒有window.onload
包裝使其可立即。因此,當元素得到呈現的腳本存在,就像這樣:
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>- jsFiddle demo</title>
<script type="text/javascript" src="/js/lib/dummy.js"></script>
<link rel="stylesheet" type="text/css" href="/css/result-light.css">
<style type="text/css">
</style>
<script type="text/javascript">
//<![CDATA[
function test() {
alert("TEST");
}
function arrayOfOandZ(size) {
var arrayOFOnZ = new Array(size);
//Fill array
for (var x = 0; x < size; x++) {
arrayOfOnZ[x] = size % 2;
}
alert(arrayOFOnZ.join('\n'));
}
//]]>
</script>
</head>
這是因爲寫在JavaScript的面板JavaScript是不能訪問到在線事件處理程序('onclick','onmouseover'等),大概是按設計。如果您使用不顯眼的JavaScript(所以事件處理在JavaScript面板中定義,以及這些處理程序調用的函數),那麼它可以正常工作。 – 2013-03-21 23:22:52
@DavidThomas:或者,如果更改左側的下拉菜單 – SLaks 2013-03-21 23:24:59
'未捕獲的SyntaxError:意外的標記ILLEGAL'。我錯誤地投票決定將問題視爲重複,但它確實應該被封閉爲*太局部*。 – 2013-03-21 23:27:21