TypeError:namefunction不是函数

时间:2013-12-14 19:33:05

标签: javascript html

关注我的代码:

HTML:

<input id="test" onkeydown="test();" type="text"/>

JS:

function pl(id){
    return id;
}

function test(){
 id = "test";
 alert(pl(id));   
}

为什么浏览器会返回TypeError: test is not a function

1 个答案:

答案 0 :(得分:1)

问题中的代码没有问题,但是您提供的live example of the code将您的函数定义包装在另一个函数中(执行onload)。

它们的范围包含其包含函数,因此您无法使用onclick属性(只能触及全局变量)访问它们。

Bind your event handlers programatically代替。

document.getElementById('test').addEventListener(
    "keydown",
    test
    );

例如:http://jsfiddle.net/9tFHA/2/