我试图从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');
},
};
答案 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');
},
};