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