在项目中使用多个Kendo PanelBar实例
Using multiple instances of Kendo PanelBar in project
我只是通过构建一个混合应用程序来学习剑道移动UI。目前我正在使用剑道PanelBar小部件在我的应用程序中制作一些可折叠的菜单,如下所示:
<ul id="panelBar">
<li class="child"><strong>What sound was that?</strong>
<ul>
<li><em>The sound was from a cow.</em></li>
</ul>
</li>
</ul>
这里是Javascript:
<script>
$(document).ready(function() {
$("#panelBar").kendoPanelBar();
});
</script>
好的,所以Panelbar在第一个被调用(使用它)的视图上工作。但是如果我导航到使用它的任何其他视图-它根本不渲染。
现在这将偶然与我使用$(document).ready(function()调用它有任何关系吗?
更新:我尝试在视图div中使用data-show="onShow",然后使用相关的函数来初始化面板栏,但这也不适合我。似乎剑道面板栏只能通过这种方式启动一次。
我很确定Kendo PanelBar在单独的HTML页面中使用多个实例时是有缺陷的。
这可能是因为您为元素分配了一个ID。Kendo UI Mobile将所有视图保存在DOM中,但隐藏了不可见的视图。这意味着您将有多个具有相同ID的元素,这不是有效的HTML,并且jQuery选择器$("#panelBar")
将只返回在DOM中找到的第一个元素,该元素可能位于隐藏页面上。
您可以尝试使每个页面的id不同。
同样,$(document).ready()
将只在应用程序启动时触发一次,而不是在每个页面被查看时。
如果你没有传递任何选项给.kendoPanelBar()
函数,那么你可能只是想使用一个类而不是一个ID。
<ul class="panelBar"> ... </ul>
<ul class="panelBar"> ... </ul>
<ul class="panelBar"> ... </ul>
$(".panelBar").kendoPanelBar();
或者使用MVVM方法并在每个元素上设置data-role
…
<ul data-role="panelbar"> ... </ul>
<ul data-role="panelbar"> ... </ul>
<ul data-role="panelbar"> ... </ul>
没有javascript调用。kendopanelbar ()
相关文章:
- Kendo:我该如何在树视图中创建一个递归的hieiarchy
- 使用导航属性创建Kendo UI网格模型的问题
- Kendo网格中数据集的最高值
- 在编辑内联模式下禁用Kendo Ui网格按钮
- 将模型从Kendo Mvc UI网格传递到javascript函数
- 使用kendo js填充网格
- 使用Kendo的动态HTML元素绑定
- Typescript Kendo UI网格列类型错误
- Kendo UI网格:数据源刷新后,我丢失了分页
- Kendo UI网格复选框列字段未定义
- 寻找使用Javascript从Kendo UI时间选择器中减去时间的更好替代方案
- Kendo-knockoutjs integration
- 如何在angularjs中检查Kendo树视图数据绑定事件
- Kendo UI Multiselect+ServerFiltering+带初始值的ServerPaging
- Kendo UI网格自定义编辑按钮
- 使用Knockout-Kendo.js库刷新KendoDropDown
- 在AngularJS中展开Kendo PanelBar面板
- 当数据来自服务时,如何正确呈现Kendo UI PanelBar
- 在项目中使用多个Kendo PanelBar实例
- 在Kendo PanelBar中计数面板(项目)