我需要为输入创建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绑定
答案 0 :(得分:4)
创建窗口小部件绑定时应使用kendo.data.binders.widget
命名空间。为已设置role
数据属性的元素创建窗口小部件。您只需要kendo.data.binders
:
kendo.data.binders.keyPress = kendo.data.Binder.extend({
});
custom binding帮助主题提供了更多信息。