0

私の質問はこれと似ていると思います。ただし、入力テキストのイベントキープレスはまだ機能していません。

ここでの私の質問は、入力テキスト ボックスにカスタム バインディングを追加し、Enter ボタンを押したときに「何か」をトリガーする方法です。

ターゲットが剣道ウィジェットの場合の別のサンプルを次に示します。そしてそれは働いています。

HTML コード:

<div id="app">
    <input type="text" data-bind="keyPress: onKeyPress" />
    <div id="output"></div>
</div>

Java スクリプト コード:

kendo.data.binders.keyPress = kendo.data.Binder.extend({
init: function (element, bindings, options) {
    kendo.data.Binder.fn.init.call(this, element, bindings, options);
    var binding = this.bindings.keyPress;
    $(element.input).bind("keypress", function (e) {
        if (e.which == 13) {
            binding.get();
        }
    });
    },
    refresh: function () { }
});

var viewModel = kendo.observable({
    onKeyPress: function () {
        $("#output").append("<div>keyPress</div>");
    }
});
kendo.bind($("#app"), viewModel);

Jsfiddle コード: http://jsfiddle.net/ikomangmahendra/4uL8Y/2/

前もって感謝します

4

1 に答える 1

0

問題は次の行に関連していました。

before:
$(element.input).bind("keypress", function (e) {

after:
$(element).bind("keypress", function (e) {

イベントを element.input ではなく、要素にバインドする必要があります。

于 2014-07-03T05:30:51.157 に答える