jQuery范围问题,无法调用函数

时间:2015-08-20 21:22:08

标签: javascript jquery

我试图从jQuery .on中调用一个函数,但是当我点击链接时,我得到了这个未定义的变量。

我想这是一个范围问题,但我无法解决问题。

$.modal.prototype = {
    constructor: $.modal,
    build: function() {

        var next = $('<a>');
        next.addClass('active next-slide');
        next.html ('<i class="fa fa-chevron-right"></i>');
        next.attr("href", "#");
        next.on('click', function() { nextSlide(); });

    },
    nextSlide: function() {
        alert('next');
    },
};

1 个答案:

答案 0 :(得分:2)

nextSlide不是一个独立的函数,它是$.modal对象的一种方法。试试这个:

$.modal.prototype = {
    constructor: $.modal,
    build: function() {
        var _this = this;
        var next = $('<a>');
        next.addClass('active next-slide');
        next.html ('<i class="fa fa-chevron-right"></i>');
        next.attr("href", "#");
        next.on('click', function() { _this.nextSlide(); });

    },
    nextSlide: function() {
        alert('next');
    },
};