我如何得到两个级别的$(这个)?

时间:2012-06-21 23:03:01

标签: jquery

好吧所以我正在尝试设置一个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),我看到它给了我窗口对象而不是输入的输入框。我错过了什么?

1 个答案:

答案 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