Kendo数字文本框更改事件而不会失去焦点

Zwe*_*rni 6 html javascript jquery kendo-ui

是否可以配置kendo数字文本框,以便当我单击旋转或使用键更改数字时绑定视图模型将收到更新?目前,仅当数字文本框失去焦点时,我的视图模型才会收到update事件。

kendo数据绑定选项data-value-update ...对数字文本框无效

谢谢你的帮助

Mar*_*kov 7

我知道现在有点晚了,但这是我的解决方案:

var numericBox = $("#yournumericinput").data("kendoNumericTextBox");
.
.
.
numericBox.element.on("keyup", function (e) {
    var newValue = e.target.value;        
    numericBox.value(newValue);
    numericBox.trigger("change");
});
Run Code Online (Sandbox Code Playgroud)

这样change,在用户输入新值后立即触发事件,而无需等待blur事件。为简洁起见,删除了数据验证检查,但我建议您也执行这些检查。

你也可以绑定spin监听器来触发change事件。

numericBox.bind("spin", function (e) {
     this.trigger("change");
});
Run Code Online (Sandbox Code Playgroud)


max*_*pan 3

您可以尝试下面的代码。这个对我有用。

视图模型

viewModel.bind("change", function (e) {
        console.log("property Changed on spin ");
    });
Run Code Online (Sandbox Code Playgroud)

剃刀代码

 <input id="tbSlideDuration" data-role="numerictextbox"
                             data-format="#"
                             data-min="1"
                             data-max="100"
                             data-bind="value:slideDuration, events: {spin:change}" />
Run Code Online (Sandbox Code Playgroud)

这将在幕后调用更改事件:)