aci*_*dtv 4 javascript methods jquery
在Javascript中我试图将类成员传递给jQuery函数,但不知何故,该函数中的'this'对象搞砸了.这是代码:
function Hints()
{
this.markProduct = function() { alert('hi'); };
this.selectProduct = function() { this.markProduct(); };
}
Run Code Online (Sandbox Code Playgroud)
当我使用这个调用此代码时:
oHints = new Hints();
oHints.selectProduct();
Run Code Online (Sandbox Code Playgroud)
它工作正常,'selectProduct'函数中的'this'对象引用Hints对象.但是,当我尝试这个:
oHints = new Hints();
$('#prodquery').keydown(oHints.selectProduct);
Run Code Online (Sandbox Code Playgroud)
'selectProduct'函数中的'this'对象引用了触发keydown事件的html对象.
有人有线索吗?我很困惑:/
改为:
$('#prodquery').keydown(function() { oHints.selectProduct() });
Run Code Online (Sandbox Code Playgroud)
然后阅读本文以解释this在不同环境中如何工作.
| 归档时间: |
|
| 查看次数: |
859 次 |
| 最近记录: |