好吧所以我正在尝试设置一个keydown调度程序,它将根据按下的键执行不同的操作。
在我的输入栏
上添加了onkeyup$(function() {
$("#myInput").keyup(suggestion_dispatcher);
});
然后这是建议调度员本身
function suggestion_dispatcher() {
alert($(this).val());
var code = event.which;
if(code == 13) {
// select
} else if (code == 38) {
// up
} else if (code == 40) {
// down
} else {
$.proxy(get_suggestion(), $(this));
}
}
即使在我的get_suggestion()函数中使用jQuery代理,如果我查看this
或$(this)
,我看到它给了我窗口对象而不是输入的输入框。我错过了什么?
答案 0 :(得分:4)
您可能需要尝试此操作:get_suggestion.apply(this);
或get_suggestion.call(this);
。
以下是一些有用的参考资料 - http://odetocode.com/blogs/scott/archive/2007/07/05/function-apply-and-function-call-in-javascript.aspx