Обработчик onclick не запускается в YUI MenuButton MenuItem, когда находится внутри заголовка YUI DataTable
Так что это суперспецифично, но я надеюсь, что у кого-то будет понимание.
Мне было поручено добавить кнопки встроенного фильтра в заголовок таблицы данных YUI. Это 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
}
}
});
Очень надеюсь, что кто-то хотя бы сможет объяснить, что происходит, бонусные баллы, если вы сможете найти способ это исправить!
Заранее спасибо!