JQuery 的$.fn.extend定义的方法调用

例子:(在一个jquery插件中这样定义的函数)$(function(){$.fn.smohanfacebox=function(options){varrl_exp={... 例子:(在一个jquery插件中这样定义的函数)
$(function(){
$.fn.smohanfacebox = function(options) {
var rl_exp = {
xxx : xxx;
init:function(){},
}} });
请问在前台代码中,要调用这个init:function(){},该怎么写啊?(下边这么写不行)
$("#id").smohanfacebox({ init:function();});
$("#id").smohanfacebox({ rl_exp.init();});
展开
 我来答
dksnear
推荐于2016-05-31 · TA获得超过1211个赞
知道小有建树答主
回答量:399
采纳率:0%
帮助的人:621万
展开全部
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="jquery.js"></script>
<script>

jQuery(function(){

jQuery.prototype.smohanfacebox = function(options){    

options = jQuery.extend({

init:function(){

console.log('default init');
}

},options);

// call init with each selected element
jQuery(this).each(function(){

options.init.call(this);
});

return jQuery(this);

};

// call init function with default define
jQuery('div').smohanfacebox();

// call init function with custom define
jQuery('div').smohanfacebox({

init:function(){

console.log(jQuery(this).attr('id'));
}
});

});

</script>
</head>
<body>
<div id="1"></div>
<div id="2"></div>
<div id="3"></div>
</body>
</html>
追问
您能用语言描述下思路吗?代码还看的不太懂= =

我是小白
追答
主要需要说明的注释我都写在代码里了 看不懂要弄清楚的话 就一步一步调试这个代码看看 执行的时候每个变量的值是什么 这个代码是很简单的
洋依辰7i
2015-04-23 · TA获得超过141个赞
知道小有建树答主
回答量:185
采纳率:100%
帮助的人:202万
展开全部
这个没法调用, 除非返回rl_exp
追问
如果返回能调用也可以啊?要怎么改?

直接最后return rl_exp;?
那前端js代码怎么写?
追答
;(function($, window, document, undefined) {
$.fn.highlight = function(options) {
debug(this);
var opts = $.extend({}, $.fn.highlight.defaults, options);
return this.each(function() {
$this = $(this);
var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
$this.css({
backgroundColor: o.background,
color: o.foreground
});
var markup = $this.html();
markup = $.fn.highlight.format(markup);
$this.html(markup);
});
};
// 私有函数:debug
function debug($obj) {
if (window.console && window.console.log)
window.console.log('highlight selection count: ' + $obj.size());
};
// 定义暴露format函数
$.fn.highlight.format = function(txt) {
return '' + txt + '';
};
// 插件的defaults
$.fn.highlight.defaults = {
foreground: 'red',
background: 'yellow'
};
})(jQuery, window, document)
看一下这个插件代码你就会明白了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式