javascript原型模块模式中的e.preventDefault()

时间:2016-07-01 16:13:55

标签: javascript jquery module prototype

我正在尝试添加e.preventDefault();单击 a 标记时。下面是我的代码,但它不起作用。请问有人给我一个建议吗?谢谢。

(function($){
    'use strict';
    var ItemPhoto = function(){
        this.$el = undefined;
        this.getElements();
        this.events();
    }
    ItemPhoto.prototype = {
        getElements: function(){
            this.$el = $('#contaner').find('.image');
            this.$item = $('#contaner').find('.item').find('a');
        },
        events: function(){
            this.$item.on('click', {_self:this}, this.swapImage());
        },
        swapImage: function(e){
            e.preventDefault();
            var _self = e.data._self;
            _self.$el.attr('src', _self.$item.attr('href'));
        }
    }
    var itemPhoto = new ItemPhoto();
})(jQuery);

1 个答案:

答案 0 :(得分:1)

好像您的代码工作正常。检查,加载了jquery,你的函数等到DOM加载。