我有一个带有可折叠菜单的页面。
当$(document).width()
低于指定菜单时,我想克隆并将整个菜单附加到标题并提供“菜单”链接。
由于菜单非常大,我想用它的点击事件克隆已经丰富的html。 而不是第二次建立和丰富菜单。
除菜单中的ui-collapsibles
外,此功能完美无缺:
请看一下:(短代码示例) http://jsfiddle.net/N7Z9e/1478/
单击哪个可折叠并不重要,调用第一个展开/折叠功能。
调查.data("events")
我可以看到他们正在共享同一个guid。
有没有人知道任何黑客可以解决这个问题?
我正在使用.clone(true)
- 复制已注册的事件处理程序,因为有很多来自mvc的自定义处理程序。
非常感谢!
答案 0 :(得分:0)
我认为这是“mobile.collapsible”小部件的jQuery Mobile实现的一个问题。如果您在第4673行检查代码(http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.js),则“展开折叠”事件绑定到可折叠小部件(即你的情况下的div#menu),在第4683行,由事件切换的collapsibleHeading对象实际上是被克隆的原始元素的collapsibleHeading;它不是克隆元素的可折叠标题。