Исходный код для goog.ui.Control
содержит следующий комментарий:
Все элементы управления отправляют события SHOW, HIDE, ENTER, LEAVE и ACTION при отображении, скрытии, наведении курсора мыши, выходе из мыши и действии пользователя соответственно.
Чтобы узнать, какие именно события отправляются для различных действий, см. демонстрационная версия goog.ui.Control с журналом событий в реальном времени.
Чтобы включить дополнительные события перехода, goog.ui.Control
включает следующий метод:
/**
* Enables or disables transition events for the given state(s). Controls
* handle state transitions internally by default, and only dispatch state
* transition events if explicitly requested to do so by calling this method.
* @param {number} states Bit mask of {@link goog.ui.Component.State}s for
* which transition events should be enabled or disabled.
* @param {boolean} enable Whether transition events should be enabled.
*/
goog.ui.Control.prototype.setDispatchTransitionEvents = function(states,
enable) {
this.statesWithTransitionEvents_ = enable ?
this.statesWithTransitionEvents_ | states :
this.statesWithTransitionEvents_ & ~states;
};
Например, вы можете сделать следующее, чтобы включить события перехода для всех состояний.
var myButton = new myapp.MyButton();
myButton.setDispatchTransitionEvents(goog.ui.Component.State.ALL, true);
Теперь, когда кнопка мыши нажата, будет отправлено событие activate
, а при отпускании кнопки мыши будет отправлено событие deactivate
.
См. демонстрацию goog.ui.Button (в частности, комбинированные кнопки-переключатели в нижней части страницы).
person
Christopher Peisert
schedule
12.08.2012