关于onkeydown事件.不能在事件中调用另外一个函数吗? 应该可以的 ,你再调试下在 keyDown 函数里面 alert (this.showExpress) 看看是对象不?不是的话就是 调用的有问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢你啊.alert(this.showExpress)结果为undefined.那原因在哪里呢!如果我注释掉this.showExpress就能正常执行呢!Herts.Widget.Calculators.prototype.showExpress = function(){ alert('看来能在onkeydown事件函数里调用其它函数');}; 这至少说明 在 keyDown 函数里面 ,你的 showExpress 是未定义的 ,你不能把 showExpress 方法写在 外边吗?Herts.Widget.Calculators = function(){ this.onKeyDownBoolen = true; document.onkeydown = this.keyDown; }; //键盘事件 Herts.Widget.Calculators.prototype.keyDown = function(){ alert('这一句能正常执行'); showExpress(); }; var showExpress = function(){ alert('这里也能执行); }; var _CalcStandard = new Herts.Widget.Calculators("popedCalc_id");如果将上面的this.showExpress()改成_CalcStandard.showExpress();也能执行.跟楼上的一个原理.showExpress不是已经加到原型里面去了吗? 嗯.谢谢各位啊! 看了你们两位回答.我认为原因可能是document.onkeydown事件触发后.对象是document.对于onkeydown事件函数来说.this.showExpress这里函数不存在!现在问题怎么来把onkeydown事件重写.加到Widget中来. 原因就是因为this指针改变了。document.onkeydown = this.keyDown; 改成var _method = this.keyDown, obj = this;document.onkeydown = function(){_method.apply(obj);} 一个基于JavaScript的Web绘制图表工具 继续importJS,简化后提问 javaScritp开发页面网络游戏基础 用js简繁转换后flash区域出错 日历控件使用问题,急需解决 Qzone,小按扭之类的图片,都在一张背景图片里! 关于多级菜单的问题(在线等,高手进) ====<select>导航问题!!!====== css定义event函数 jQuery easyUI表单里数据修改保存后,datagrid里的数据也更改 谁帮我解释下这段JS代码用处! firefox下如何刷新本页?
那原因在哪里呢!
如果我注释掉this.showExpress就能正常执行呢!Herts.Widget.Calculators.prototype.showExpress = function(){
alert('看来能在onkeydown事件函数里调用其它函数');
};
你不能把 showExpress 方法写在 外边吗?Herts.Widget.Calculators = function(){
this.onKeyDownBoolen = true;
document.onkeydown = this.keyDown;
};
//键盘事件
Herts.Widget.Calculators.prototype.keyDown = function(){
alert('这一句能正常执行');
showExpress();
};
var showExpress = function(){
alert('这里也能执行);
};
如果将上面的this.showExpress()改成_CalcStandard.showExpress();也能执行.跟楼上的一个原理.
showExpress不是已经加到原型里面去了吗?
看了你们两位回答.我认为原因可能是
document.onkeydown事件触发后.对象是document.
对于onkeydown事件函数来说.this.showExpress这里函数不存在!
现在问题怎么来把onkeydown事件重写.加到Widget中来.
document.onkeydown = this.keyDown;
改成
var _method = this.keyDown, obj = this;
document.onkeydown = function(){_method.apply(obj);}