捕获原型函数内的键码

问题描述:

我试图捕获我的原型函数内的按键。捕获原型函数内的键码

这里是我的代码:

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返回“不确定”,尽管它定义。

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

我试着把你的代码粘贴到我的firebug中并在这个页面上运行它(尽管把这些提示改为了console.log)。它似乎工作得很好。它捕获我选择的文本字段中的每个keydown,但不在其他任何地方。

两个问题我看,假设你有你的脚本命名为“TXT”作为这样一个实际的标签:

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

此行必须改变从

alert("keycode: event.keyCode); 

alert("keycode": event.keyCode); 

这也需要从

new txtBox($(#txt)); 

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

,它会提醒你的文本框的名字,我不相信你的IE就能改变ID你想要的方式去改变它做this.id="textbox"