1

所以这个是超级具体的,但我希望有人会有见识。

我的任务是在 YUI DataTable 的标题中添加内联过滤器按钮。它是 YUI 2.7,当我在框架的范围内工作时,我坚持使用它。它适用于 Oracle Service Cloud/RightNow CX 客户门户小部件。

如果我将按钮添加到任何其他元素,onclick 事件将触发并按预期工作。如果我将按钮附加到标题,则 MenuItem 单击事件将被解释为单击标题并触发 sortColumn 函数。这不像我可以调用 stopPropagation 因为点击处理程序根本不会被调用。

我创建了一个 jsFiddle 来展示。如果您在第 152/153 行换出容器,您可以使其工作/不工作。顺便说一句,只有第二个菜单有效。:-)

https://jsfiddle.net/Cyber​​neticianDave/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
    }
  }
});

真的希望有人至少可以解释发生了什么,如果您能找到解决方法,可以加分!

提前致谢!

4

0 回答 0