首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript向对象添加方法

JavaScript向对象添加方法
EN

Stack Overflow用户
提问于 2015-04-24 02:23:51
回答 1查看 232关注 0票数 0

我正在尝试扩展一个jQuery对象,但是有一些困难。

代码语言:javascript
复制
$(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的“扩展”:

代码语言:javascript
复制
var progressBar = function(slider, i) {
    window.onload(window.alert("YES"));
};
$.extend(slick, progressBar);
// Also tried '.slick-slider' in place of slick

我还尝试实现了:

代码语言:javascript
复制
$.fn.progressBar = function(i) { 
    window.onload(alert(this.i))
};

$('.single-item').progressBar(i);

"customPaging“存在于主js文件中,我不想更改它--而是将其他方法扩展到对象。它以"slider“和"i”作为参数。因为它已经存在于主js文件中,所以操作它非常简单。

但是,我想创建一个名为"progressBar“的全新方法,该方法还可以访问对象的"slider”和"i“变量。

有没有人能帮我弄明白到底是怎么回事,并演示如何按照我的想法创建"progressBar“方法?

EN

回答 1

Stack Overflow用户

发布于 2015-04-24 02:38:01

它不起作用是因为你将方法添加到某个插件的配置对象中,而不是扩展jquery元素。如果你想在插件中添加新的方法,你可能需要编辑它的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29831473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档