为什么我的jsfiddle Javascript类没有定义?

时间:2014-05-09 14:38:59

标签: javascript jsfiddle

HTML:

<img src="https://help.pace.edu/helpdesk/info_icon_small.gif?v=12_1_0_300.gif" onclick="plusButton_Click()">

JS:

function plusButton_Click() {  
    alert('hi');    
}

http://jsfiddle.net/uEypH/1/

我可能不熟悉Javascript和所有。但是为什么我的Firefox控制台会说

"ReferenceError: plusButton_Click is not defined"?

3 个答案:

答案 0 :(得分:2)

因为如果您打算在内联js中调用它,该函数必须在全局范围内。

jsfiddle创建一个新的闭包,因此它不是全局的。使用他们的--wrap it in head--选项。

Updated demo

或更改

function plusButton_Click() {  
    alert('hi');    
}

为:

window.plusButton_Click = function(){
   alert('hi');
}

答案 1 :(得分:1)

你有javascript设置为onLoad。在普通页面中,您最有可能将其直接放入体内。将它设置为NoWrap,它应该可以正常工作。

答案 2 :(得分:1)

默认情况下,jsFiddle会将您的Javascript代码放入onLoad函数中。在此关闭之外,您的plusButton_Click将不可见。

要修复,请:

  • 选择&#34;在<head>&#34;来自下拉列表(Example
  • 将您的功能定义为window.plusButton_Click = function() { ... }Example