【发布时间】:2013-09-03 09:36:31
【问题描述】:
我正在使用 JQM collapsibleset 小部件。
我需要一个可折叠的按钮(它允许向集合/手风琴添加更多元素),所以当它被点击时,它不应该展开(或折叠)。
我使用以下代码无济于事:
$("div.ui-dynamic-tabs div.tab_add").on("collapsiblebeforeexpand", function (e) {
e.stopPropagation();
e.stopImmediatePropagation();
e.preventDefault();
return false;
console.log("foo");
});
我将 collapsibleexpand 和 collapsiblebeforeexpand 自定义事件添加到 JQM 以测试这是否有帮助。
我可以注册所有事件并且返回 false 也确实会阻止控制台被触发。但是...可折叠的仍然展开... :-(
我认为添加 beforeexpand 事件会阻止 JQM 中的后续代码在事件上调用 preventDefault 时运行,但它仍然执行。
问题:
如何通过阻止执行在扩展 javascript 运行之前触发的事件来阻止可折叠组件正确扩展?
PS:我也使用 jQueryUI 进行标记,因为 JQM 和 UI 都使用相同的小部件工厂和事件机制。
【问题讨论】:
-
jqm 1.4a2 不听
collapse和expandjsfiddle.net/Palestinian/HXAU6 -
@Omar: 根据latest 代码有
expand和collapse事件(查找this._trigger( isCollapse ? "collapse" : "expand" ); -
谢谢,我去查一下。
标签: javascript jquery jquery-ui jquery-mobile preventdefault