在JQuery中删除KendoUIMobile-CSS属性时,视图转换会重置

在JQuery中删除KendoUIMobile-CSS属性时,视图转换会重置,jquery,css,kendo-ui,Jquery,Css,Kendo Ui,目前,我正在通过在css文件中应用以下css规则来处理剑道移动web应用程序中未设置样式的内容闪烁: [data-role="content"] { visibility: hidden; } 这将隐藏我剑道视图中的所有内容,然后在JQuery“load”事件中,删除上述css属性: $(window).bind("load", function () { // flicker of unstyled content $("[data-role=\"c

目前,我正在通过在css文件中应用以下css规则来处理剑道移动web应用程序中未设置样式的内容闪烁:

[data-role="content"]
    { 
    visibility: hidden;
    }
这将隐藏我剑道视图中的所有内容,然后在JQuery“load”事件中,删除上述css属性:

$(window).bind("load", function () {
    // flicker of unstyled content
    $("[data-role=\"content\"]").css("visibility", "visible");
});
一切都很好,我没有任何问题,除了使用剑道的视图转换

当我使用
幻灯片:左
转换时,原始
可见性:隐藏被重新应用,导致所有内容都不可见

这是为什么会发生,特别是剑道,以及剑道是如何处理视图和转换的?我知道我可能可以手动添加一个具有
可见性的类:hidden
到每个
data role=“content”
元素,然后在jquery的“load”事件处理程序中删除该类,但我希望我的解决方案少一点“硬编码”


谢谢。

数据角色=内容属性是在初始化视图时设置的,因此加载事件处理程序不会影响所有视图(除非手动设置了数据角色=内容)


您可以考虑隐藏应用程序容器。 由于此消息最近已被升级,我将提供处理未样式内容闪烁的方法。这并没有让我失望

1.)将类添加到单页应用程序的主页面:

<style>
    .m-hide-unstyled-content {
        visibility: hidden;
    }
</style>
<script>
        function removeFlickerOfUnstyledContentClass() {
            // flicker of unstyled content fix
            $(".m-hide-unstyled-content).removeClass("m-hide-unstyled-content");
        }
</script>
4.)最后,在每个视图的
data init
函数末尾调用我们在步骤2中创建的函数:

<div data-role="view" data-init="initMyView">
    ...
</div>

<script>
    function initMyView(event) {
        ...
        removeFlickerOfUnstyledContentClass();
    }
</script>

...
函数initMyView(事件){
...
移除FlicketofUnstyledContentClass();
}

使用此设置,您将永远不会遇到那些令人讨厌的未设置样式的内容闪烁!希望这对一些人有所帮助。

我可以通过将display:none设置为闪烁的元素来避开闪烁。然后根据需要使用CSS或JS来显示它们。也许是隐藏或显示。

谢谢您的反馈,@underlog。实际上,我正在将数据角色=内容手动添加到我的所有视图中。此外,隐藏应用程序容器将生成一个错误,表示Kendo找不到任何视图。这就是为什么我要走这条路。。
<div data-role="view" data-init="initMyView">
    ...
</div>

<script>
    function initMyView(event) {
        ...
        removeFlickerOfUnstyledContentClass();
    }
</script>