我正在尝试扩展一个jQuery对象,但是有一些困难。
$(document).ready(function() {
$('.single-item').slick({
dots: true,
infinite: false,
speed: 500,
customPaging: function(slider, i) {
// Theres a lot of stuff in this, removed for brevity
},
progressBar: function(slider, i) {
// Want to create this method
// alert is not defined
window.onload(window.alert("YES"));
}
});
// slick is not defined
console.log(typeof(slick));
});我尝试了很多方法,比如使用jQuery的“扩展”:
var progressBar = function(slider, i) {
window.onload(window.alert("YES"));
};
$.extend(slick, progressBar);
// Also tried '.slick-slider' in place of slick我还尝试实现了:
$.fn.progressBar = function(i) {
window.onload(alert(this.i))
};
$('.single-item').progressBar(i);"customPaging“存在于主js文件中,我不想更改它--而是将其他方法扩展到对象。它以"slider“和"i”作为参数。因为它已经存在于主js文件中,所以操作它非常简单。
但是,我想创建一个名为"progressBar“的全新方法,该方法还可以访问对象的"slider”和"i“变量。
有没有人能帮我弄明白到底是怎么回事,并演示如何按照我的想法创建"progressBar“方法?
发布于 2015-04-24 02:38:01
它不起作用是因为你将方法添加到某个插件的配置对象中,而不是扩展jquery元素。如果你想在插件中添加新的方法,你可能需要编辑它的代码。
https://stackoverflow.com/questions/29831473
复制相似问题