输入上的Keypress自定义绑定仍然无法在ken​​do ui mvvm中使用

时间:2014-05-16 01:57:14

标签: kendo-ui kendo-mvvm

我认为我的问题与this类似。但是,输入文本上的事件按键仍无效。

我的问题是如何在输入文本框中添加自定义绑定并触发“'某些内容”。按下输入按钮时。

当目标是kendo小部件时,这是另一个sample;并且它正在工作。

HTML code:

<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/

提前致谢

1 个答案:

答案 0 :(得分:0)

问题与以下几行有关:

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

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

我应该将事件绑定到元素,而不是绑定到element.input。