2012-05-06 19 views
0

Yohoo、解決引数を渡す方法は?

私はコードに続いて、この

$("#dialog").dialog({ 
    click:function(){ 
    alert(1); 
    }, 
    'class':"dialog" 
}); 

のように、ダイアログのプラグインを持ってはオプションでそのループメインコードの塊で、鍵はjQueryの関数であるかどうかを確認し、それを呼び出しますそれ以外の場合は属性として設定する

$.each(options,function(key,val){ 
    if(key in $.attrFn){ 
    $('#div')[key](val); // I want pass arguments to this function 
    // equal $('#div').click(function(args){ 
    //  alert(1); 
    // }); 
    // this is like jQuery ui dialog buttons options 
    } else { 
    $('#div').attr(key,val); 
    } 
}); 

私は関数に引数を渡したいと思いますが、わかりません。

例:

$("#dialog").dialog({ 
    click:function(dialog){ 
    dialog.disAppear(); 
    }, 
    'class':"dialog" 
}); 

を解決:ここ

$.each(v,function(q,w){ 
    if(q in $.attrFn){ 
      //console.log(dialog); 
      b[q](function(){ 
       w(dialog); 
      }); 
    } else { 
     b.attr(q,w); 
    } 
}); 
+0

、{})(機能するためにそれを包んどの関数に引数を渡したいのですか? **あなたの質問を編集**してください。 – jmort253

+0

@ jmort253から$( '#div')[q](val);それは等しい($( '#div')。クリック(機能(ここで){}); ) –

+1

質問の下に**編集**をクリックし、あなたの質問に入れてください。コメントでコードを読むのを助けようとしている人を強制しないでください。それは、あなたを助ける人々のコミュニティのための尊敬の欠如を示しています。ありがとうございました! :) – jmort253

答えて

0

我々は、引数を渡すためにはJavaScript生命維持を使用することができますので、私たちのことが可能です: 私は自己の実行を防止するための

$.each(v,function(q,w){ 
    if(q in $.attrFn){ 
     if($.isFunction(w)) { 
      b[q](function(e){ 
       w(e,dialog); 
      }); 
     } else b[q](w); 
    } else { 
     b.attr(q,w); 
    } 
}); 
1

はここかもしれスーツ要件SOの質問はそれがあり

http://jsfiddle.net/Jams/hcTTH/Dialogの実施例でありますは How to pass a parameter to jQuery UI dialog event handler?

です

その他1ここ

Passing data to a jQuery UI Dialog

+6

それからそれは欺瞞ではなく、答えです。 –

+0

@ MR.OK:引数を渡す場所を教えてもらえれば、適切な答えを出すことができます。 – jams

+0

もちろん、あなたの答えを精緻化し、いくつかの詳細を含めて、いくつかの重複したリンク以上のものにすることもできます。私は個人的に、あなたが追加した2つのリソースがopよりもはるかに複雑であることが分かりました。 – jmort253

関連する問題