事件处理的快捷方式执行 off+on+return false

shortcut for event handling doing off+on+return false

我发现自己做了很多:

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

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

这里重复两件事 - on 之前的 offreturn false;

有没有办法让我扩展 jquery 以添加一个快捷方式,例如 'myOn' 以便:

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

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

您可以创建自己的 jquery 插件。希望对您的问题有所帮助。

$.fn.myOn = function(e, option){ //code here };

参考:https://learn.jquery.com/plugins/basic-plugin-creation/

最后:

(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 ));