2009-10-09 6 views
2

오케이, 그래서 내가하려고하는 것은 콜백 함수에 사용될 jquery 배열을 반환하는 플러그인입니다.jQuery 플러그인 콜백

의 난이 code``

(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(); 
}); 
}); 
    }); 

덕분에 같은 일이

답변

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(); 
}); 
}); 
    }); 

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에 추가 될 때. 물론 ... 플러그인이 호출 된 후입니다. 플러그인을 호출하고 wheni

+0

이 좋아, 그래서 내 플러그인보다 더 복잡하지만, 난 그냥 간단 콜백을 나타냅니다 그것은보다 포괄적 인 것입니다. 나는 당신이 말한 것을 시도 할 것이고 당신의 제안이 저에게 효과가 있다면 알려 드리겠습니다. 각 이미지에 대해 mouseover에 대해 – kmunky

+0

님께 감사드립니다. 호버 동작을 원합니다 (편집 막대 표시/사라짐). 이 경우 어떻게해야합니까? 이 같은? $ ('IMG')는. ('mouseenter', 기능() { $ (이) .hover ( 기능() {아빠의 편집 막대}, 기능() {편집 막대가 숨겨져} 라이브), }); – kmunky