所以这个是超级具体的,但我希望有人会有见识。
我的任务是在 YUI DataTable 的标题中添加内联过滤器按钮。它是 YUI 2.7,当我在框架的范围内工作时,我坚持使用它。它适用于 Oracle Service Cloud/RightNow CX 客户门户小部件。
如果我将按钮添加到任何其他元素,onclick 事件将触发并按预期工作。如果我将按钮附加到标题,则 MenuItem 单击事件将被解释为单击标题并触发 sortColumn 函数。这不像我可以调用 stopPropagation 因为点击处理程序根本不会被调用。
我创建了一个 jsFiddle 来展示。如果您在第 152/153 行换出容器,您可以使其工作/不工作。顺便说一句,只有第二个菜单有效。:-)
https://jsfiddle.net/CyberneticianDave/b1wh7oht/
var oMenuButton = new YAHOO.widget.Button({
type: "menu",
label: "",
name: "mymenubutton",
menu: aMenuButtonMenu,
// HERE - swap this container to make it work or not work
//container: labelDiv,
container: parentElement,
onclick: {
fn: onMenuClick,
obj: {
column: i,
instance: this
}
}
});
真的希望有人至少可以解释发生了什么,如果您能找到解决方法,可以加分!
提前致谢!