2016-04-19 6 views
2

Ich finde mich viel zu tun:Abkürzung für Event-Handling Rückkehr tun off + auf + falsch

jelem.off('click').on('click', e => { somefunc(e); return false; }); 

oder

jelem.off('submit').on('submit', e => { somefunc(e); return false; }); 

zwei Dinge wiederholen sich hier - die off vor on und die return false;

Gibt es eine Möglichkeit für mich, jQuery zu erweitern, um eine Verknüpfung wie 'myOn' hinzuzufügen, so dass:

jelem.myOn('click', e => somefunc(e)); 

wird jelem.off('click').on('click', e => { somefunc(e); return false; });

Antwort

1

endete mit:

(function($) { 
    $.fn.offOn = function(eventName, callback) { 
     this.off(eventName).on(eventName, callback); 
    }; 
    $.fn.offOnX = function(eventName, callback) { 
     this.off(eventName).on(eventName, e => { callback(e); return false; }); 
    }; 
}(jQuery));