Я использую Yui для создания «всплывающего» меню, которое работает с мышью немного иначе, чем обычно. Это не ContextMenu, потому что я хочу, чтобы оно реагировало на левый щелчок, а ContextMenu, похоже, склонен реагировать на щелчки правой кнопкой мыши.
Следуя примерам, если я сделаю это, появится меню, и все будет примерно так, как я хочу:
YAHOO.util.Event.addListener(myClickTarget, 'click', myThingGotClicked);
В моей функции myThingGotClicked я вручную устанавливаю положение меню и show()
его.
Моя проблема в том, что я хочу «привязать» видимость меню к состоянию кнопки мыши. То есть на mouseDown я хочу, чтобы меню появлялось, а на mouseUp я хочу, чтобы меню исчезло (выбрав активный элемент, если он есть). Итак, прослушивание события 'click' не дает правильного результата, потому что «щелчок» отправляется только после mouseUp.
«Очевидное» решение - сделать это:
YAHOO.util.Event.addListener(myClickTarget, 'mousedown', myThingGotClicked);
Но это не работает. Пройдя через отладчик, вы можете увидеть, что он действительно вызывает меню в виде мыши, но затем что-то сразу же скрывает меню. На полном ходу вроде вообще ничего не происходит.
Есть предположения?