簡體   English   中英

函數不能用作另一個函數參數

[英]function doesn't work as another function parameter

失敗的例子

原始例子

誰能告訴我如何將draggable函數作為clickit的參數clickitclickit是AJAX函數? 我想將draggable作為參數傳遞,以將其附加到動態添加的元素上。 我無法定義可拖動函數並將其傳遞給clickit

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

這是可行的一種:

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無法傳遞給成功函數。

看起來您想調用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();         
}

在您的上下文中,您似乎想調用$('.dialog').draggable() ,所以fun應該更像這樣

function fun(o) {
    return $('.dialog').draggable(o);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM