jQuery:无法从类定义初始化事件侦听器

时间:2018-01-06 23:18:52

标签: javascript jquery class event-handling listener

我正在创建一个类:

var MyClass;
(function($) {
    MyClass = new function() {

        $('a').off('click');
        $('a').on( 'click', function(event) {
            event.preventDefault();
        });

    };
})(jQuery);

点击链接时,仍然会发出完整请求。

粘贴时......

$('a').on( 'click', function(event) {
    event.preventDefault();
});

...在我的控制台中重试,一切都按预期工作。

我是否可能无法从类定义中初始化事件侦听器。如果是这样,那么我将如何初始化我的事件监听器呢?

1 个答案:

答案 0 :(得分:1)

尝试:

$('body').off('click','a');

或:

$(document).off('click','a');

如果你在dom准备好之前就开始上课了。

上课的简短方法:

var MyClass = (function($){
    // your code here
    // or with init method
    function init () {
        $('body').off('click','a');
    }
    return {init : init};
})(jQuery);

比跑完dom:

$(function(){
    MyClass.init()
});
相关问题