0

我试图在我的原型函数中捕获击键。

这是我的代码:

function txtBox(input) // pass textbox
{
     this.id = "myTextbox";
     this.txt = input
}
txtBox.prototype.init = function()
{
     this.txt.bind("keyup",this.keyup);
}
txtBox.prototype.keyup= function(event)
{
     alert("keycode: event.keyCode);
     alert(this.id);
}
var myTxt = new txtBox($(#txt)); // create object
myTxt.init();

捕获有效,但问题是keyup触发器“在”我的对象“外部”,这意味着this.id即使它定义,也会返回“未定义”。

有谁知道如何与此保持一致?

4

2 回答 2

0

我看到两个问题,假设您的脚本中有一个名为“txt”的实际标签,如下所示:

<input type="text" id="txt"/>

这条线需要从

alert("keycode: event.keyCode);

alert("keycode": event.keyCode);

这也需要从

new txtBox($(#txt)); 

new txtBox($('#txt')); 

它会提醒您的文本框名称,我不相信 IE 您将能够以您尝试更改它的方式更改 idthis.id="textbox"

于 2009-11-05T17:34:48.103 回答
0

我尝试将您的代码复制粘贴到我的萤火虫中并在此页面上运行它(尽管将警报更改为 console.log)。它似乎工作得很好。它捕获了我选择的文本字段中的每个按键,但没有捕获其他任何地方。

于 2009-11-05T17:01:01.057 回答