2

ユーザーが次のいずれかを実行したときに、ドロップダウンリストボックスから選択したアイテムの値を取得するための最良の方法は何ですか。

アイテムのタブキーを押すと、

エンターキーを押すか

マウスがアイテムをクリックします。

イベントごとにjavascriptイベントハンドラーを作成する必要がありますか、それともノックアウトでそれを行うための良い方法がありますか?

私が見ることができる良いjsfiddleの例はありますか?

ありがとう

4

1 に答える 1

1

これらのイベントをキャッチするカスタム バインディングを使用できます。

ko.bindingHandlers.tabEnterClick = {
    init: function(element, valueAccessor) {
        $(element).click(function() {
            valuAccessor()();
        }).keydown(function(event) {
            if (event.which == 13 /*enter*/ || event.which == 9 /*tab*/) {
                valuAccessor()();
            }
        }
    }
};

しかし、ドロップダウンから選択されたアイテムを知りたいだけであれば、valueバインディングはそれを問題なく行います。

于 2013-03-06T22:01:29.833 に答える