关于jQuery写插件的问题
我现在写了一个插件$("#aa").search({id:"ccc"}),这样掉用,现在我想写成$("#aa").search({id:"ccc"},function(r...
我现在写了一个插件$("#aa").search({id:"ccc"}),这样掉用,现在我想写成
$("#aa").search({id:"ccc"},function(result){ do...... }),这样的,在插件里的代码执行完返回一个result,然后执行外面的do....请问一下能实现么,该怎么做呢? 展开
$("#aa").search({id:"ccc"},function(result){ do...... }),这样的,在插件里的代码执行完返回一个result,然后执行外面的do....请问一下能实现么,该怎么做呢? 展开
1个回答
展开全部
$.fn.test = function(json, fun) {
var obj = "我是函数内的竖拿码this对象";
var param1 = "我是测试字符串"
if (typeof (fun) == 'function') {
fun.call(obj, param1);
}
}
$("#div1").test({ "a": "b" }, function(param1) {
alert(this);
alert(param1)
});
<div id="div1"敏敏>我是一个层余哪</div>
test函数参数2类型为function
在函数内用call方法激活方法,
call方法第一个参数为你方法内的this对象
第二个参数才是你方法中的参数
具体你可以看下帮助文档
测试下上下边两个例子你就懂了
如果有不明白的地方:linv2@vip.qq.com
$.fn.test = function(json, fun) {
//var obj = "我是函数内的this对象";
var param1 = "我是测试字符串"
if (typeof (fun) == 'function') {
fun.call(this, param1);
}
}
$("#div1").test({ "a": "b" }, function(param1) {
alert($(this).attr("id"));
alert($(this).html());
alert(param1)
});
<div id="div1">我是一个层</div>
var obj = "我是函数内的竖拿码this对象";
var param1 = "我是测试字符串"
if (typeof (fun) == 'function') {
fun.call(obj, param1);
}
}
$("#div1").test({ "a": "b" }, function(param1) {
alert(this);
alert(param1)
});
<div id="div1"敏敏>我是一个层余哪</div>
test函数参数2类型为function
在函数内用call方法激活方法,
call方法第一个参数为你方法内的this对象
第二个参数才是你方法中的参数
具体你可以看下帮助文档
测试下上下边两个例子你就懂了
如果有不明白的地方:linv2@vip.qq.com
$.fn.test = function(json, fun) {
//var obj = "我是函数内的this对象";
var param1 = "我是测试字符串"
if (typeof (fun) == 'function') {
fun.call(this, param1);
}
}
$("#div1").test({ "a": "b" }, function(param1) {
alert($(this).attr("id"));
alert($(this).html());
alert(param1)
});
<div id="div1">我是一个层</div>
参考资料: 经验
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询