2014-09-11 7 views
0

Failed Example함수는 다른 함수의 매개 변수로 작동하지 않습니다

Original Example

사람이 어떻게 AJAX 기능이 clickit에 대한 매개 변수로 draggable 기능을 전달하는 방법을 말해 줄래? 동적으로 추가 된 요소에 첨부하려면 매개 변수로 draggable을 전달하고 싶습니다. draggable 함수를 정의하여 작동시키지 못하고 clickit으로 전달합니다.

function clickit(){ 
    $.ajax({ 
     'url' : "url", 
     'dataType' : 'json', 
     'success' : function(data){ 
     var item_html =""; 
      $.each(data.query.results.json,function(i,k){ 
       item_html += '<div class="dialog"><h3>'+k+'</h3></div>' 
      });   
      $('.area').html(item_html); 
      $('.dialog').draggable();   
      } 
    }); 
} 

$('button').click(function(){ 
    clickit() 
}); 

그것은 fun가 성공 함수에 전달 될 수없는 매개 변수를 다음과 같습니다

function clickit(fun){ 
    $.ajax({ 
     'url' : "url", 
     'dataType' : 'json', 
     'success' : function(data){ 
     var item_html =""; 
      $.each(data.query.results.json,function(i,k){ 
       item_html += '<div class="dialog"><h3>'+k+'</h3></div>' 
      });   
      $('.area').html(item_html); 
      fun;   
      } 
    }); 
} 
$('button').click(function(){ 
    var funpara = $('.dialog').draggable(); 
    clickit(funpara) 
}); 

여기에 작동 하나입니다.

당신이 $('.dialog').draggable()를 호출 할 같은

답변

3
당신이 fun를 호출하기를 원하지만 현재 방금 호출 당신의 맥락에서 ()

function (data) { 
    var item_html = ""; 
    $.each(data.query.results.json, function (i, k) { 
     item_html += '<div class="dialog"><h3>' + k + '</h3></div>'; 
    });   
    $('.area').html(item_html); 
    fun();   
} 

없이 그것을 참조하는 것처럼 보이는

이 보이는 , 그래서 fun가 보일 것입니다 더 많은 것을이

function fun(o) { 
    return $('.dialog').draggable(o); 
} 
관련 문제