index.js
function createMouseEvent(type, options) {
  options = clean(type, options);
  var e = document.createEvent('MouseEvent');
  e.initMouseEvent(
    type,
    options.bubbles,
    options.cancelable,
    options.view,
    options.detail,
    options.screenX,
    options.screenY,
    options.clientX,
    options.clientY,
    options.ctrl,
    options.alt,
    options.shift,
    options.meta,
    options.button,
    options.relatedTarget
  );
  return e;
}
function createMouseEvent(type, options) {
  options = clean(type, options);
  var e = document.createEvent('MouseEvent');
  e.initMouseEvent(
    type,
    options.bubbles,
    options.cancelable,
    options.view,
    options.detail,
    options.screenX,
    options.screenY,
    options.clientX,
    options.clientY,
    options.ctrl,
    options.alt,
    options.shift,
    options.meta,
    options.button,
    options.relatedTarget
  );
  return e;
}
function createMouseEvent ( type , options ) { options = clean ( type , options ) ; var e = document . createEvent ( 'MouseEvent' ) ; e . initMouseEvent ( type , options . bubbles , options . cancelable , options . view , options . detail , options . screenX , options . screenY , options . clientX , options . clientY , options . ctrl , options . alt , options . shift , options . meta , options . button , options . relatedTarget ) ; return e ; }
Create a non-IE mouse event.

@param {String} type
@param {Object} options
Create a non - IE mouse event .