我正在尝试从 jQuery .on 调用一个函数,但是当我单击链接时我得到了这个 undefined variable 。
我想这是一个范围问题,但我无法找到解决方法。
$.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');
},
};
最佳答案
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');
},
};
关于javascript - jQuery 作用域问题,无法调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32128619/