1

わかりましたので、押されたキーに基づいてさまざまなことを行うキーダウンディスパッチャーをセットアップしようとしています。

入力フィールドの 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));
    }
}

jQuery プロキシを使用していても、get_suggestion() 関数内で、入力されている入力ボックスではなくウィンドウ オブジェクトを表示していることがわかりますthis$(this)私は何が欠けていますか?

4

1 に答える 1

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

于 2012-06-21T23:06:19.557 に答える