[英]Writing jquery plugin and it is not executing
我正在尝试使用本样式指南中第一个jQuery的变体来满足我的需要,编写一个简单的jQuery插件。
;(function($) {
var plugin_name = 'my_plugin',
defaults = {};
function Plugin ( element, options ) {
this.element = element;
this.options = $.extend( {}, defaults, options );
this._defaults = defaults;
this._name = plugin_name;
this.init();
}
Plugin.prototype = {
init: function () {
// Plugin code - attempt to debug
alert('hi');
}
}
$.fn[plugin_name] = function ( options ) {
return this.each(function () {
if (!$.data(this, 'plugin_' + plugin_name)) {
$.data(this, 'plugin_' + plugin_name, new Plugin( this, options ));
}
})
}
})( jQuery );
但是,在我调用它时似乎没有执行。 在这里提琴: http : //jsfiddle.net/DCRnU/
$(document).ready(function() {
$.fn.my_plugin();
});
我错过了什么?
您没有正确调用该函数。
如果您的HTML中有一个div
元素,则可以这样调用函数:
$(document).ready(function() {
$("div").my_plugin();
});
那是因为这行: return this.each
期望得到一些可迭代的对象。 但是没有什么可以循环的。
如果添加以下内容:
var array = [1];
$(array).my_plugin();
会没事的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.