所以,可以说我有一个像这样的功能
(function($){
$.fn.test = function(opts){
var _object = $(this),
_opts = $.extend({}, $.fn.test.defaults, opts),
_callback = _opts.objects[1].callback
/* some code here */
_callback() /* calling for a callback */
}
$.fn.test.defaults = {
/* not that important for now */
}
})
这就是我初始化该功能的方式
$('.element').test({
option: 0, /* not important */
variable: 1, /* not important */
objects: [
{
"object" : ".element2",
"callback" : false
},
{
"object" : ".element3", /* THIS IS OBJECT № 2 */
"callback" : function(){
/* >>> {THIS PART} <<< */
console.log (this)
}
},
]
因此,对{本部}它只是返回对象的№2的数据,但我想的回调函数,我上运行_object从元素$ .fn.test因此它输出的数据$(“元素”) 。我不能对其进行硬编码,也不能console.log (this)
只是将其放置console.log ($('.element'))
-我正尝试制作更多动态功能。所以,我需要更换这个与我_object当它调用回调这里此刻元素_callback() /* calling for a callback */
。我绝对不能使用replace,因为它不是字符串,但是我有一个将函数转换为字符串,更改所需内容然后转换为函数的想法-但这听起来像是不合适的解决方案。
您有什么想法吗?你有什么建议?
先感谢您。
我不确定我是否理解正确,但是如果您想获得$ .fn.test范围,可以尝试执行以下操作:
$.fn.test = function(opts){
var _object = $(this),
_opts = $.extend({}, $.fn.test.defaults, opts),
_callback = _opts.objects[1].callback;
_callback(this);
}
和
$('.element').test({
option: 0,
variable: 1,
objects: [
{
"object": ".element2",
"callback": false
},
{
"object": ".element3",
"callback" : function(parentScope){
console.log(parentScope);
}
},
]
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句