Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自动初始化自定义jQuery插件_Javascript_Jquery_Html_Css_Jquery Plugins - Fatal编程技术网

Javascript 自动初始化自定义jQuery插件

Javascript 自动初始化自定义jQuery插件,javascript,jquery,html,css,jquery-plugins,Javascript,Jquery,Html,Css,Jquery Plugins,我正在以创建一个新的手风琴插件为起点 在构建插件方面,我是jQuery的新手,但目前它似乎工作得很好 用户可以以传统方式($('elem')初始化插件({“选项”:“值”}))或在元素本身()上内联初始化插件 问题是需要在插件代码之外,在每个方法的文档就绪中调用插件(例如-$('elem').plugin()) 我想用这个插件做的是让插件在标记中的set元素上自动初始化,比如。我尝试过将元素包装在jQuery包装器中,放在文档就绪的中,但似乎不起作用 样板文件的代码为: ;( function(

我正在以创建一个新的手风琴插件为起点

在构建插件方面,我是jQuery的新手,但目前它似乎工作得很好

用户可以以传统方式(
$('elem')初始化插件({“选项”:“值”})
)或在元素本身(
)上内联初始化插件

问题是需要在插件代码之外,在每个方法的
文档就绪
中调用插件(例如-
$('elem').plugin()

我想用这个插件做的是让插件在标记中的set元素上自动初始化,比如
。我尝试过将元素包装在jQuery包装器中,放在
文档就绪的
中,但似乎不起作用

样板文件的代码为:

;( function( $, window, document, undefined ) {

    "use strict";

        var pluginName = "defaultPluginName",
            defaults = {
                propertyName: "value"
            };

        function Plugin ( element, options ) {
            this.element = element;
            this.settings = $.extend( {}, defaults, options );
            this._defaults = defaults;
            this._name = pluginName;
            this.init();
        }

        $.extend( Plugin.prototype, {
            init: function() {
                this.yourOtherFunction( "jQuery Boilerplate" );
            },
            yourOtherFunction: function( text ) {
                $( this.element ).text( text );
            }
        } );

        $.fn[ pluginName ] = function( options ) {
            return this.each( function() {
                if ( !$.data( this, "plugin_" + pluginName ) ) {
                    $.data( this, "plugin_" +
                        pluginName, new Plugin( this, options ) );
                }
            } );
        };

} )( jQuery, window, document );
希望有人能帮忙


谢谢:)

在一个为每个方法准备好的文档中-你的意思是什么?有很多方法已经在线,你为什么要编写自己的而不是使用其中一种方法?@Maximus实际上只是一个用例场景-如果用户想在他们的网站上使用插件,他们会将其包含在
$(文档)。ready(function(){//here});
@NathanielFlick我决定尝试构建自己的插件,因为很多插件都不是为css3转换而构建的,也没有我经常使用的选项(例如,在用户定义的特定屏幕大小下销毁插件),如果他们在ready函数中放入
$('elem')。plugin({“option”:“value”})
,它将被实现并且应该工作property@Maximus抱歉,如果我在我的原始帖子中没有说清楚,但是,我创建的插件已经通过将其添加到就绪函数中工作了。理想情况下,我希望插件在检测到标记中所需的元素时自动初始化,这是我在插件代码中设置的(例如,
),而不需要任何额外的外部js。如果用户选择运行插件,只使用页面标记(
)中的内联数据方法,那么插件当前仍需要添加到就绪函数中,我不希望添加到就绪函数中。希望这有意义