【问题标题】:Kendo numeric textbox change event without lost focus剑道数字文本框更改事件而不会失去焦点
【发布时间】:2014-01-23 17:23:41
【问题描述】:

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

剑道数据绑定选项 data-value-update ... 遗憾的是对数字文本框没有影响

感谢您的帮助

【问题讨论】:

  • 我不太确定你想要达到什么目的,但你可能想看看这个:docs.kendoui.com/api/web/numerictextbox#events-change。 (恭喜你的搞笑用户名:))
  • thx 我以前看过这个页面,但是如果触发了 spin 事件,我有了新的想法来手动绑定到我的视图模型: spin: function() { var value = this.value(); viewModel.set("MyViewModelProperty", value);但是现在我仍然有问题,如果用户使用键盘更新数字文本框,我的视图模型只会在数字上下失去焦点时收到更新...

标签: javascript jquery html kendo-ui


【解决方案1】:

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

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

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

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

numericBox.bind("spin", function (e) {
     this.trigger("change");
});

【讨论】:

  • 非常感谢,为我工作,这是正确的答案。
【解决方案2】:

你可以试试下面的代码。它对我有用。

视图模型

viewModel.bind("change", function (e) {
        console.log("property Changed on spin ");
    });

剃刀代码

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多