所以这个是超级具体的,但我希望有人能有所见解。
我的任务是在YUI DataTable的标题中添加内联过滤器按钮。它是YUI 2.7,因为我在框架的范围内工作,所以我坚持使用它。它适用于Oracle Service Cloud / RightNow CX客户门户小部件。
如果我将按钮添加到任何其他元素,onclick事件将触发并按预期工作。如果我将按钮附加到标题,则MenuItem单击事件将被解释为单击标题并触发sortColumn函数。它不像我可以调用stopPropagation,因为根本不会调用click处理程序。
我创建了一个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
}
}
});
真的希望有人能够至少解释一下发生了什么,如果你能找到解决方法的话可以获得奖励积分!
提前致谢!