У меня есть следующие наблюдаемые:
mouseOver$ // fired when mouse enters button
mouseOut$ // fired when mouse leaves button
mouseDown$ // fired when mouse button is pressed (over button)
globalMouseUp$ // fired when mouse button is released (anywhere)
Я хотел бы добиться следующего:
mouseOver: state changes to 'hover'
mouseOut: state changes to 'normal'
mouseDown: state changes to 'active'
gloalMouseUp: state changes to 'normal'
Подвох:
Если состояние active
(кнопка мыши нажата), и мышь покидает кнопку, состояние должно измениться на normal
.Когда мышь снова входит в кнопку без отпускания кнопки мыши, состояние должно быть active
.Если кнопка мыши была отпущена, когда она находилась вне кнопки, состояние должно быть hover
.
Я просто не могу понять это, не полагаясь на отдельную переменную состояния для удержания «активного» состояния.