一尘不染

为什么我的JavaScript无法在JSFiddle中工作

html

我找不到这个JSFiddle有什么问题。

HTML:

<input type="button" value="test" onclick="test()">

JavaScript:

function test(){alert("test");}

当我单击按钮时-什么也没发生。控制台显示“测试未定义”

我已经阅读了JSFiddle文档-那里说JS代码已添加到<head>并且HTML代码已添加到<body>(因此,此JS代码早于html,应该可以使用)。


阅读 331

收藏
2020-05-10

共1个答案

一尘不染

该函数是在装入处理程序中定义的,因此属于不同的范围。正如@ellisbben在注释中指出的那样,您可以通过在window对象上显式定义它来解决此问题。更好的是,更改它以将处理程序毫不干扰地应用于对象

$('input[type=button]').click( function() {
   alert("test");   
});

请注意,以这种方式而不是内联方式应用处理程序,可以使HTML保持整洁。我使用的是jQuery,但您可以选择是否使用框架,也可以使用其他框架。

2020-05-10