javascript – 在旋转时使用MVVM更新Kendo NumericTextBox

前端之家收集整理的这篇文章主要介绍了javascript – 在旋转时使用MVVM更新Kendo NumericTextBox前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

看一下MVVM示例here

如何在旋转事件上获取MVVM值(单击向上或向下箭头)

这是我尝试过的:

在旋转事件中,我试图这样做

$("#ntb").getKendoNumericTextBox().trigger("change");

这有效,但有副作用.

如果DOM上有足够的元素,则旋转事件将继续触发.

另一种重现方法是从here (jsbin)获取代码

将其插入HTML文件,将其加载到Chrome或FF中,然后在此行插入一个断点:

$("#ntb").getKendoNumericTextBox().trigger("change");

继续点击继续,您将看到断点一次又一次地被击中.

在firefox中,如果我的DOM足够大,我会得到一个没有断点的repro.

最佳答案
我检查了你的jsbin,我在html和javascript中看到了一些错误.我想当你测试不同的代码时,你忘了纠正它.无论如何,我清理并更正你的代码,并把它们放到jsfiddle.

在放置断点(调试器;)之后,我看到你是无限的onSpin事件触发器,但如果你在事件中放置一个断点,就会发生这种奇怪的行为.如果删除断点并放入console.log(“onSpinevent triggered.”);你看到一切都很好,事件刚刚触发一次.

我之前在不同的场景中遇到过这样的问题,例如使用alert()而不是console.log()来进行调试.

代码

var viewmodel = kendo.observable({
    selectedNumber: 0,isEnabled: true,isVisible: true,onSpin: function () {
        //debugger;
        console.log("`onSpin` event triggered.");
        $("#ntb").getKendoNumericTextBox().trigger("change");
    },onChange: function () {}
});
kendo.bind($("#example"),viewmodel);
@H_403_51@

猜你在找的jQuery相关文章