Sha256: 8d6554a5ee61327e9f380910bf4677def00eaa24b790158dd6ab3b84409f3ac5

Contents?: true

Size: 1.59 KB

Versions: 39

Compression:

Stored size: 1.59 KB

Contents

@Trigger = (->
  
  u = up.util
  
  mouseover = ($element, options) ->
    event = createMouseEvent('mouseover', options)
    dispatch($element, event)

  mousedown = ($element, options) ->
    event = createMouseEvent('mousedown', options)
    dispatch($element, event)

  mouseup = ($element, options) ->
    event = createMouseEvent('mouseup', options)
    dispatch($element, event)
    
  click = ($element, options) ->
    event = createMouseEvent('click', options)
    dispatch($element, event)

  # Can't use the new MouseEvent constructor in IE11 because computer.
  # http://www.codeproject.com/Tips/893254/JavaScript-Triggering-Event-Manually-in-Internet-E
  createMouseEvent = (type, options) ->
    options = u.options(options,
      view: window,
      cancelable: true,
      bubbles: true,
      detail: 0,
      screenX: 0,
      screenY: 0,
      clientX: 0,
      clientY: 0,
      ctrlKey: false,
      altKey: false,
      shiftKey: false,
      metaKey: false,
      button: 0,
      relatedTarget: null
    )
    event = document.createEvent('MouseEvent')
    event.initMouseEvent(type,
      options.bubbles,
      options.cancelable,
      options.view,
      options.detail,
      options.screenX,
      options.screenY,
      options.clientX,
      options.clientY,
      options.ctrlKey,
      options.altKey,
      options.shiftKey,
      options.metaKey,
      options.button,
      options.relatedTarget
    )
    event

  dispatch = ($element, event) ->
    $element.each ->
      this.dispatchEvent(event)

  mouseover: mouseover
  mousedown: mousedown
  mouseup: mouseup
  click: click
  
)()

Version data entries

39 entries across 39 versions & 2 rubygems

Version Path
upjs-rails-0.18.1 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.18.0 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.17.0 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.16.0 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.15.1 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.15.0 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.14.1 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.14.0 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.13.0 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.12.5 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.12.4 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.12.3 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.12.2 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.12.1 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.12.0 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.11.1 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.11.0 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.10.5 spec_app/spec/javascripts/helpers/trigger.js.coffee
upjs-rails-0.10.4 spec_app/spec/javascripts/helpers/trigger.js.coffee