Skip to content

Instantly share code, notes, and snippets.

@ashwell
Last active May 5, 2016 03:46
Show Gist options
  • Save ashwell/71b7490fe23b938e1ade to your computer and use it in GitHub Desktop.
Save ashwell/71b7490fe23b938e1ade to your computer and use it in GitHub Desktop.

Revisions

  1. ashwell revised this gist Dec 9, 2015. 1 changed file with 13 additions and 4 deletions.
    17 changes: 13 additions & 4 deletions create-event.js
    Original file line number Diff line number Diff line change
    @@ -1,13 +1,22 @@
    'use strict';
    var tmpEvent, createEvent, createWithConstructor, createWithInit;
    var
    tmpEvent,
    createEvent,
    createWithConstructor,
    createWithInit;

    createWithConstructor = function( name, descriptor ) {
    return new CustomEvent( name, descriptor );
    };

    createWithInit = function( name, descriptor={} ) {
    var event = document.createEvent( "CustomEvent" ),
    { bubbles, cancelable, detail } = descriptor;
    var
    event = document.createEvent( "CustomEvent" ),
    {
    bubbles,
    cancelable,
    detail
    } = descriptor;

    event.initCustomEvent(
    name,
    @@ -30,5 +39,5 @@ if ( window ) {
    }
    }

    // export
    // ES6 export
    export default createEvent;
  2. ashwell revised this gist Oct 14, 2015. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion create-event.js
    Original file line number Diff line number Diff line change
    @@ -19,6 +19,7 @@ createWithInit = function( name, descriptor={} ) {
    return event;
    };

    // check if supported via try/catch
    if ( window ) {
    try {
    tmpEvent = new CustomEvent( "test" );
    @@ -29,5 +30,5 @@ if ( window ) {
    }
    }

    // check if supported via try/catch
    // export
    export default createEvent;
  3. ashwell revised this gist Oct 14, 2015. 1 changed file with 10 additions and 10 deletions.
    20 changes: 10 additions & 10 deletions create-event.js
    Original file line number Diff line number Diff line change
    @@ -6,18 +6,18 @@ createWithConstructor = function( name, descriptor ) {
    };

    createWithInit = function( name, descriptor={} ) {
    var event = document.createEvent( "CustomEvent" ),
    { bubbles, cancelable, detail } = descriptor;
    var event = document.createEvent( "CustomEvent" ),
    { bubbles, cancelable, detail } = descriptor;

    event.initCustomEvent(
    name,
    typeof bubbles === "boolean" ? bubbles : true,
    typeof cancelable === "boolean" ? cancelable : true,
    detail || {}
    );
    event.initCustomEvent(
    name,
    typeof bubbles === "boolean" ? bubbles : true,
    typeof cancelable === "boolean" ? cancelable : true,
    detail || {}
    );

    return event;
    };
    return event;
    };

    if ( window ) {
    try {
  4. ashwell revised this gist Oct 14, 2015. 1 changed file with 8 additions and 5 deletions.
    13 changes: 8 additions & 5 deletions create-event.js
    Original file line number Diff line number Diff line change
    @@ -1,8 +1,11 @@
    var tmpEvent, createEvent,
    createWithConstructor = function( name, descriptor ) {
    return new CustomEvent( name, descriptor );
    },
    createWithInit = function( name, descriptor={} ) {
    'use strict';
    var tmpEvent, createEvent, createWithConstructor, createWithInit;

    createWithConstructor = function( name, descriptor ) {
    return new CustomEvent( name, descriptor );
    };

    createWithInit = function( name, descriptor={} ) {
    var event = document.createEvent( "CustomEvent" ),
    { bubbles, cancelable, detail } = descriptor;

  5. ashwell revised this gist Oct 14, 2015. No changes.
  6. ashwell created this gist Oct 14, 2015.
    30 changes: 30 additions & 0 deletions create-event.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,30 @@
    var tmpEvent, createEvent,
    createWithConstructor = function( name, descriptor ) {
    return new CustomEvent( name, descriptor );
    },
    createWithInit = function( name, descriptor={} ) {
    var event = document.createEvent( "CustomEvent" ),
    { bubbles, cancelable, detail } = descriptor;

    event.initCustomEvent(
    name,
    typeof bubbles === "boolean" ? bubbles : true,
    typeof cancelable === "boolean" ? cancelable : true,
    detail || {}
    );

    return event;
    };

    if ( window ) {
    try {
    tmpEvent = new CustomEvent( "test" );
    createEvent = createWithConstructor;
    } catch ( error ) {
    // use fallback method
    createEvent = createWithInit;
    }
    }

    // check if supported via try/catch
    export default createEvent;