Sha256: f5d8cf24095a9646602711747b1cc83df28d48dc4f07a716687259582a210daf

Contents?: true

Size: 826 Bytes

Versions: 2

Compression:

Stored size: 826 Bytes

Contents

# backtick_javascript: true

module Browser; class Event

class Focus < UI
  handles 'blur', 'focus', 'focusin', 'focusout'

  def self.supported?
    Browser.supports? 'Event.Focus'
  end

  class Definition < UI::Definition
    alias_native :view=
    alias_native :related=, :relatedTarget
  end

  if Browser.supports? 'Event.constructor'
    def self.construct(name, desc)
      `new FocusEvent(#{name}, #{desc})`
    end
  elsif Browser.supports? 'Event.create'
    def self.construct(name, desc)
      %x{
        var event = document.createEvent("FocusEvent");
            event.initFocusEvent(name, desc.bubbles, desc.cancelable,
              desc.view || window, 0, desc.relatedTarget);

        return event;
      }
    end
  end if supported?

  def related
    DOM(`#@native.relatedTarget`)
  end
end

end; end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
opal-browser-0.3.5 opal/browser/event/focus.rb
opal-browser-0.3.4 opal/browser/event/focus.rb