在YUI DataTable标头内部时,Onclick处理程序不会在YUI MenuButton MenuItem上触发

时间:2017-04-07 19:06:41

标签: javascript yui rightnow-crm

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

我的任务是在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
    }
  }
});

真的希望有人能够至少解释一下发生了什么,如果你能找到解决方法的话可以获得奖励积分!

提前致谢!

0 个答案:

没有答案