Мне не нравится использовать Button-s в моем приложении, потому что они визуально слишком тяжелые.Я полагаю, что я мог бы использовать кнопку с изображением, но я нашел то, что мне показалось более простым решением, не требующим использования изображения: просто создайте InlineLabel и поместите его в FocusPanel, а затем перехватите события onClick () на FocusPanel,Это также помещает InlineLabel в порядок вкладок, что также является тем, что я хочу.(Однако, возможно, эта идиома как-то является источником проблемы.)
У меня есть TextArea и после него во вкладке порядок FocusPanel / InlineLabel.Я хочу, чтобы всякий раз, когда фокус покинул TextArea, я получал событие, чтобы я мог скрыть TextArea и показывать метку рядом с ней и копировать текст TextArea в эту метку.То есть, когда вы покидаете текстовую область любым способом, ваш контент превращается в метку.(Да, я выполнил атаку межсайтового скриптинга; спасибо.) Это прекрасно работает, если пользователь, скажем, нажимает на вкладку: все вышеперечисленное происходит, плюс фокус переходит к следующей вещи, а именно к FocusPanel / InlineLabel.
Что не работает, так это если пользователь редактирует, а затем просто нажимает на FocusPanel / InlineLabel.До того, как я добавил обработчики onBlur () и onChange () в TextBox, щелкнув по FocusPanel / InlineLabel, надежно (1) поместил фокус на FP / IL и (2) запустил ClickEvent на FP / IL.Теперь, когда у TextArea есть новые обработчики, когда пользователь нажимает на FP / IL, я получаю onChange () (а иногда и onBlur (), а иногда и не TextArea, другая проблема), но тогда FocusPanel / InlineLabel больше не получаетсобытие клика.
Есть идеи?Мне интересно, если это ошибка в Chrome или в моем понимании GWT.Взглянув на другие вопросы, кажется, что обработка событий в GWT проще, чем просто onClick (), кажется, вызывает все виды странностей.
Я использую Chrome 16.0.912.77, который, по его словам, является современным;Я работаю на OS X 10.6.8.