Javascript跳过一段代码,但在使用调试器时工作正常

Javascript跳过一段代码,但在使用调试器时工作正常,javascript,jquery,kendo-ui,Javascript,Jquery,Kendo Ui,我有一行非常简单的代码。我有剑道图书馆提供的标签 i = 0; x = 10; while (i < x) { var tabStrip = $("#myId").data("kendoTabStrip"); tabStrip.select(i); i++; } 当我一步一步地使用调试器时,一切都正常-tabStrip.selecti方法正在被调用,并且工作正常。但当我在没有调试器的情况下运行它时,它的行为就像没有这行代码一样。我不明白为什么,我也不知道如何解决这

我有一行非常简单的代码。我有剑道图书馆提供的标签

i = 0;
x = 10;
while (i < x) {
    var tabStrip = $("#myId").data("kendoTabStrip");
    tabStrip.select(i);
    i++;
}
当我一步一步地使用调试器时,一切都正常-tabStrip.selecti方法正在被调用,并且工作正常。但当我在没有调试器的情况下运行它时,它的行为就像没有这行代码一样。我不明白为什么,我也不知道如何解决这个问题。 i和x变量只是示例变量,可能while循环中调用方法的信息很重要

var tabGroupObject = $("<div>").attr("id", "myId")
tabGroupObject = $(tabGroupObject).kendoTabStrip({
    animation: {
        open: {
            effects: "fadeIn"
        }
    }
});
var tabStrip = tabGroupObject.data("kendoTabStrip");
假设:-我假设您正在寻找一个ajax触发器事件,该事件在浏览器中被触发以响应tabScript的选择。
解决方案:-如果是这种情况,请知道浏览器会在一段时间内将一个元素上的所有ajax事件合并为一个事件,以减少不必要的post调用的数量,如果希望调用这些事件,您可以尝试添加一个延迟,否则它只会触发偶数,正如dfsq所提到的那样,偶数在tabSctrip.select9上被调用。

似乎是一个同步问题,在JavaScript中处理Ajax调用或DOM修改时非常常见。这就是为什么当您一步一步地执行代码,并为操作提供足够的时间时,它会起作用


我的建议是阅读一些关于异步JavaScript的知识,并尝试实现一个回调函数,该函数在动画完成任务后触发。

您希望看到什么?我的意思是,它显然只会选择9,仅此而已。@dfsq是的,但问题是它什么都不选择。与此类似,您需要包括正在使用的浏览器/操作系统,提供HTML代码以及如何设置tabStrip。或者更好的剑道小提琴。你应该展示一段更有意义的代码。从0-9调用selecti将使最后一个保持选中状态,并使以前的调用作废。这应该是一个comment@JuanMendes张贴答案,不要拘束自己