我使用JQuery Mobile通过使用嵌套的可折叠来创建树。与任何树视图一样,父母可能有也可能没有孩子。在我目前的方法中,没有孩子的可折叠物仍然是可折叠的,尽管可折叠部分是空的,因为没有孩子。这会导致UI非常难看。我想要的是一种关闭扩展可折叠的行为的方法,但是能够在有孩子的可折叠物上打开它。
我已经尝试过不同的解决方案,例如正在讨论的解决方案here。它使用一段非常简单的代码来禁用折叠效果:
$("#page").live('pageinit', function(event) {
$(".ui-collapsible[data-allow-collapse=false]").unbind("expand collapse");
});
但是这个解决方案有相反的效果:他正在寻找一个不可折叠的部分,而我正在寻找一个不可扩展的部分。只需编辑answerers jsFiddle页面(可以找到here)来反转效果就会产生非常奇怪的效果。
我updated that jsFiddle向您展示会发生什么。您会注意到,一旦您单击collapsible-list(第4节)中的最后一个元素,它将自动折叠所有上述元素(第一个元素除外,因为这个元素具有属性 data-allow-collapse < / em>设置为 false 。这对我来说似乎很奇怪,因为它会在点击其他元素时折叠所有元素。
有没有办法解决这种行为,还是应该采取完全不同的方法?我基本上想要的是像 data-allow-to-expand 这样的属性,如果设置为false,则在点击该特定元素后没有任何反应。设置为true时,它应该像通常那样展开。