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

时间:2016-04-19 01:53:41

标签: jquery jquery-plugins

我发现自己做了很多事情:

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

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

这里重复两件事 - off onreturn false;

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

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

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

将等同于line-height: 5; vertical-align: top;

2 个答案:

答案 0 :(得分:1)

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

  

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

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

答案 1 :(得分:1)

结束于:

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