Skip to content

Instantly share code, notes, and snippets.

@margaritis
Forked from dciccale/README.md
Last active August 29, 2015 14:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save margaritis/27e4365cdb66fb539e33 to your computer and use it in GitHub Desktop.
Save margaritis/27e4365cdb66fb539e33 to your computer and use it in GitHub Desktop.

triggerEvent

Cross-browser function to trigger DOM events.

<!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>
/**
* @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);
}
};
function(c,d,b,a){b=document;b.createEvent?(a=new Event(d),c.dispatchEvent(a)):(a=b.createEventObject(),c.fireEvent("on"+d,a))}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment