Advertisement
Guest User

Untitled

a guest
Dec 15th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script>
  2. function simulate(element, eventName)
  3. {
  4.     var options = extend(defaultOptions, arguments[2] || {});
  5.     var oEvent, eventType = null;
  6.  
  7.     for (var name in eventMatchers)
  8.     {
  9.         if (eventMatchers[name].test(eventName)) { eventType = name; break; }
  10.     }
  11.  
  12.     if (!eventType)
  13.         throw new SyntaxError('Only HTMLEvents and MouseEvents interfaces are supported');
  14.  
  15.     if (document.createEvent)
  16.     {
  17.         oEvent = document.createEvent(eventType);
  18.         if (eventType == 'HTMLEvents')
  19.         {
  20.             oEvent.initEvent(eventName, options.bubbles, options.cancelable);
  21.         }
  22.         else
  23.         {
  24.             oEvent.initMouseEvent(eventName, options.bubbles, options.cancelable, document.defaultView,
  25.             options.button, options.pointerX, options.pointerY, options.pointerX, options.pointerY,
  26.             options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, options.button, element);
  27.         }
  28.         element.dispatchEvent(oEvent);
  29.     }
  30.     else
  31.     {
  32.         options.clientX = options.pointerX;
  33.         options.clientY = options.pointerY;
  34.         var evt = document.createEventObject();
  35.         oEvent = extend(evt, options);
  36.         element.fireEvent('on' + eventName, oEvent);
  37.     }
  38.     return element;
  39. }
  40.  
  41. function extend(destination, source) {
  42.     for (var property in source)
  43.       destination[property] = source[property];
  44.     return destination;
  45. }
  46.  
  47. var eventMatchers = {
  48.     'HTMLEvents': /^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/,
  49.     'MouseEvents': /^(?:click|dblclick|mouse(?:down|up|over|move|out))$/
  50. }
  51. var defaultOptions = {
  52.     pointerX: 0,
  53.     pointerY: 0,
  54.     button: 0,
  55.     ctrlKey: false,
  56.     altKey: false,
  57.     shiftKey: false,
  58.     metaKey: false,
  59.     bubbles: true,
  60.     cancelable: true
  61. }
  62. window.onload = function(){
  63.      setTimeout(
  64.     function() {
  65.  simulate(document.getElementById("foo"), "click");
  66.  
  67.  }, 5000);
  68. }
  69. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement