Skip to content

Instantly share code, notes, and snippets.

@chrisl8888
Forked from dciccale/README.md
Created August 15, 2014 15:45
Show Gist options
  • Select an option

  • Save chrisl8888/796fe9ba6bb52b97e27a to your computer and use it in GitHub Desktop.

Select an option

Save chrisl8888/796fe9ba6bb52b97e27a to your computer and use it in GitHub Desktop.

Revisions

  1. @dciccale dciccale revised this gist Aug 13, 2013. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion README.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,3 @@
    # triggerEvent

    Cross-browser function to trigger DOM element events.
    Cross-browser function to trigger DOM events.
  2. @dciccale dciccale created this gist Aug 13, 2013.
    3 changes: 3 additions & 0 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,3 @@
    # triggerEvent

    Cross-browser function to trigger DOM element events.
    23 changes: 23 additions & 0 deletions demo.html
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,23 @@
    <!doctype html>
    <title>Demo</title>

    <span id="btn">Button</span>

    <script>
    // use addEvent cross-browser shim: https://gist.github.com/dciccale/5394590/
    var addEvent = function(a,b,c){try{a.addEventListener(b,c,!1)}catch(d){a.attachEvent('on'+b,c)}};

    // triggerEvent
    var triggerEvent = function(c,d,b,a){b=document;b.createEvent?(a=new Event(d),c.dispatchEvent(a)):(a=b.createEventObject(),c.fireEvent("on"+d,a))};

    // DOM element
    var element = document.getElementById('btn');

    // callback function
    var callback = function () { alert('Button clicked!'); };

    addEvent(element, 'click', callback);

    // alert 'Button clicked!' when trigger click event
    triggerEvent('click', element, callback);
    </script>
    16 changes: 16 additions & 0 deletions triggerEvent.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,16 @@
    /**
    * @param target can be any DOM Element or other EventTarget
    * @param type Event type (i.e. 'click')
    * @param doc Placeholder for document
    * @param event Placeholder for creating an Event
    */
    function (target, type, doc, event) {
    doc = document;
    if (doc.createEvent) {
    event = new Event(type);
    target.dispatchEvent(event);
    } else {
    event = doc.createEventObject();
    target.fireEvent('on' + type, event);
    }
    };
    1 change: 1 addition & 0 deletions triggerEvent.min.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1 @@
    function(c,d,b,a){b=document;b.createEvent?(a=new Event(d),c.dispatchEvent(a)):(a=b.createEventObject(),c.fireEvent("on"+d,a))}