1

我正在使用 JQuery Mobile 通过嵌套可折叠项创建树。与任何树视图一样,父母可能有也可能没有孩子。在我目前的方法中,没有孩子的可折叠物品仍然是可折叠的,尽管可折叠的部分是空的,因为没有孩子。这会导致用户界面非常难看。我想要的是一种关闭扩展可折叠的行为的方法,但能够在有孩子的可折叠上打开它。

我已经尝试过不同的解决方案,比如这里讨论的解决方案。它使用一段非常简单的代码来禁用折叠效果:

 $("#page").live('pageinit', function(event) {
      $(".ui-collapsible[data-allow-collapse=false]").unbind("expand collapse");
 });

但该解决方案具有相反的效果:他正在寻找一个不可折叠的部分,而我正在寻找一个不可扩展的部分。只需编辑回答者 jsFiddle 页面(可在此处找到)来反转效果,就会产生非常奇怪的效果。

我已经更新了那个 jsFiddle来告诉你会发生什么。您会注意到,一旦您单击可折叠列表(第 4 节)中的最后一个元素,它将自动折叠所有上述元素(第一个元素除外,因为该元素的属性data-allow-collapse设置为false。这对我来说似乎很奇怪,因为它在单击不同元素时会折叠所有元素。

有什么办法可以解决这种行为,还是我应该采取完全不同的方法?我基本上想要的只是一个像data-allow-to-expand这样的属性,如果将其设置为 false,则在单击该特定元素后不会发生任何事情。当设置为 true 时,它​​应该像往常一样扩展。

4

0 回答 0