【问题标题】:KeyPress on input not worked输入按键无效
【发布时间】:2013-05-23 08:34:49
【问题描述】:

我需要为输入创建 keyPress (enter) 绑定。

<div id="body">
    <input type="text" data-value-update="keyup" data-bind="value: text, keyPress: onKeyPress"/>
    <div id="output"></div>
</div>

js:

kendo.data.binders.widget.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({
    text: '',
    onKeyPress: function () {
        $("#output").append("<div>keyPress</div>");
    }
});

kendo.bind("#body", viewModel);

我有错误:

错误:输入元素不支持 keyPress 绑定

jsfiddle 中的示例http://jsfiddle.net/dude_jsfiddle/byA75/

【问题讨论】:

    标签: javascript binding kendo-ui observable


    【解决方案1】:

    创建小部件绑定时应使用kendo.data.binders.widget 命名空间。为具有role 数据属性集的元素创建小部件。你只需要kendo.data.binders

    kendo.data.binders.keyPress = kendo.data.Binder.extend({
    });
    

    更多信息请参见custom binding 帮助主题。

    【讨论】:

      猜你喜欢
      • 2015-06-20
      • 1970-01-01
      • 2021-03-28
      • 2019-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-29
      • 1970-01-01
      相关资源
      最近更新 更多