javascript - jQuery 插件。添加选项和回调函数

标签 javascript jquery

http://docs.jquery.com/Plugins/Authoring#Defaults_and_Options描述插件如何拥有默认选项。

var settings = $.extend( {
  'location'         : 'top',
  'background-color' : 'blue'
}, options);

所选答案第二部分jQuery Plugin: Adding Callback functionality描述如何在选项对象中添加回调。

// extend the options from pre-defined values:
var options = $.extend({
    callback: function() {}
}, arguments[0] || {});

// call the callback and apply the scope:
options.callback.call(this);

如何同时添加默认设置和回调函数?另外,我有点困惑为什么我要针对参数 [0] 或空对象扩展默认回调函数。谢谢

最佳答案

只需合并两者,您就可以在一个对象中拥有任意数量的项目

$.fn.myPlugib = function( user_options ) {  
    var options = $.extend({
        'location'         : 'top',
        'background-color' : 'blue'
        'callback': function() {}
    }, user_options || {});

    //now options object can be used to get callback or any other options when needed
    options.callback.call(this, options.location)
}

用户选项 || {} 确保如果用户未提供任何选项,我们将使用空选项对象

关于javascript - jQuery 插件。添加选项和回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13110803/

相关文章:

javascript - jQuery Datatables - 具有平面数组数据源的 Datatable <td> 中的自定义元素

javascript - 在对象构造函数中集成 EventEmitter 以在原型(prototype)方法中使用

javascript - Safari上的OnHover HTML5音频

jquery - 使用 scrollspy 无法正确突出显示导航

javascript - 如何用 "..."替换宽度超过 50 px 的字符串的一部分?

javascript - 在浏览器中显示多页 tiff

javascript - 如何在 node.js 中保存 .env 文件中的更改

javascript - 将 jquery fancybox 显示为 ajax 成功

javascript - 带过滤器的轮播画廊

javascript - 从两个输入文本字段中,当我在其中一个输入数据时,如果在下一个输入了某些内容,它必须消失。