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