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();}); 展开
$(function(){
$.fn.smohanfacebox = function(options) {
var rl_exp = {
xxx : xxx;
init:function(){},
}} });
请问在前台代码中,要调用这个init:function(){},该怎么写啊?(下边这么写不行)
$("#id").smohanfacebox({ init:function();});
$("#id").smohanfacebox({ rl_exp.init();}); 展开
2个回答
展开全部
<!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>
追问
您能用语言描述下思路吗?代码还看的不太懂= =
我是小白
追答
主要需要说明的注释我都写在代码里了 看不懂要弄清楚的话 就一步一步调试这个代码看看 执行的时候每个变量的值是什么 这个代码是很简单的
展开全部
这个没法调用, 除非返回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)
看一下这个插件代码你就会明白了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询