好的,所以我要做的是一个插件,它返回一个jquery数组,用于回调函数。
让我说我有这个代码``
(function($){
$.fn.extend({
//plugin name
myPlugin : function(needed){
var defaults = {
path : 'action.php',
source : ''
}
var needed = $.extend(defaults,needed);
//return
return this.each(function(){
//it loads some pictures
$('#selector').load(needed.path,{'src':nedeed.source})
});
}
});
})(jQuery的);
我想返回这些图片并在回调函数中访问它们。像这样的东西
$('#another_selector').click(function(){
$(this).myPlugin({'source':'path/...etc'},function(){
$('img').click(function(){
$(this).remove();
});
});
});
感谢
答案 0 :(得分:1)
(function($){
$.fn.extend({
//plugin name
myPlugin : function(needed,callback){
var defaults = {
path : 'action.php',
source : ''
}
var needed = $.extend(defaults,needed);
//return
return this.each(function(){
//it loads some pictures
$('#selector').load(needed.path,{'src':nedeed.source},callback)
});
}
});
当我调用插件时,我称之为:
$('#another_selector').click(function(){
$(this).myPlugin({'source':'path/...etc'},function(){
$('img').click(function(){
$(this).remove();
});
});
});
选项后面的函数表示回调
答案 1 :(得分:0)
我明白你要做什么。如果您正在做的就是这样,您可以考虑在插件中添加live
事件监听器。
试试这个:
(function($){
$.fn.extend({
//plugin name
myPlugin : function(needed){
// New
$('img').live('click',function() {
$(this).remove();
});
// end new
var defaults = {
path : 'action.php',
source : ''
}
var needed = $.extend(defaults,needed);
//return
return this.each(function(){
//it loads some pictures
$('#selector').load(needed.path,{'src':nedeed.source})
});
}
});
})(jQuery);
使用该技术,所有img,无论何时添加到DOM中,都会在单击时隐藏。那就是......在调用插件之后,当然。