Module: Hyalite::DOM::Event

Included in:
DefaultEvent, DragEvent, KeyboardEvent, MouseEvent, TouchEvent
Defined in:
lib/hyalite/dom/event.rb,
lib/hyalite/dom/event/drag_event.rb,
lib/hyalite/dom/event/mouse_event.rb,
lib/hyalite/dom/event/touch_event.rb,
lib/hyalite/dom/event/data_transfer.rb,
lib/hyalite/dom/event/keyboard_event.rb,
lib/hyalite/dom/event/mouse_event_interface.rb

Defined Under Namespace

Modules: MouseEventInterface Classes: AliasPosition, DataTransfer, DefaultEvent, DragEvent, KeyboardEvent, MouseEvent, TouchEvent

Constant Summary collapse

EVENT_CLASSES =
{
  # MouseEvent
  'click' => MouseEvent,
  'dblclick' => MouseEvent,
  'mousedown' => MouseEvent,
  'mouseup' => MouseEvent,
  'mousemove' => MouseEvent,
  'mouseenter' => MouseEvent,
  'mouseleave' => MouseEvent,
  'mouseover' => MouseEvent,
  'mouseout' => MouseEvent,
  'contextmenu' => MouseEvent,

  # DragEvent
  'drag' => DragEvent,
  'dragstart' => DragEvent,
  'dragend' => DragEvent,
  'dragenter' => DragEvent,
  'dragexit' => DragEvent,
  'dragleave' => DragEvent,
  'dragover' => DragEvent,
  'drop' => DragEvent,

  # KeyboardEvent
  'keydown' => KeyboardEvent,
  'keyup' => KeyboardEvent,
  'keypress' => KeyboardEvent,

  # TouchEvent
  'touchstart' => TouchEvent,
  'touchcancel' => TouchEvent,
  'touchmove' => TouchEvent,
  'touchend' => TouchEvent
}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.create(event) ⇒ Object



39
40
41
42
43
44
45
46
47
# File 'lib/hyalite/dom/event.rb', line 39

def self.create(event)
  type = `event.type`
  event_class = EVENT_CLASSES[type]
  if event_class
    event_class.new(event)
  else
    DefaultEvent.new(event)
  end
end

Instance Method Details

#prevent_defaultObject



53
54
55
# File 'lib/hyalite/dom/event.rb', line 53

def prevent_default
  `self.native.preventDefault()`
end

#targetObject



49
50
51
# File 'lib/hyalite/dom/event.rb', line 49

def target
  Node.create(`self.native.target`)
end