看一下MVVM示例here:
如何在旋转事件上获取MVVM值(单击向上或向下箭头)
这是我尝试过的:
在旋转事件中,我试图这样做
$("#ntb").getKendoNumericTextBox().trigger("change");
这有效,但有副作用.
如果DOM上有足够的元素,则旋转事件将继续触发.
另一种重现方法是从here (jsbin)获取代码
将其插入HTML文件,将其加载到Chrome或FF中,然后在此行插入一个断点:
$("#ntb").getKendoNumericTextBox().trigger("change");
继续点击继续,您将看到断点一次又一次地被击中.
在firefox中,如果我的DOM足够大,我会得到一个没有断点的repro.
最佳答案
我检查了你的
@H_403_51@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);