代码之家  ›  专栏  ›  技术社区  ›  Billy ONeal IS4

如何将一个真正的函数分配给一个javascript对象以用作回调?

  •  1
  • Billy ONeal IS4  · 技术社区  · 14 年前

    我有一个javascript混乱,看起来像:

    注意:不工作的代码,只是试图说明我的问题…

    $(function() {
        $(foo).Something( {  //Something is a grid control
           buttons: {
                add: {
                    onClick: function() { //Build dialog box to add stuff to grid
                        $('<div></div>')
                        .html('...')
                        .dialog({
                            buttons: {
                                done: { //Finished button on dialog box
                                    OnClick: function() {
                                        $(this).dialog('close');
                                    }
                                }
                            }
                        });
                    }
                }
           } 
        } );
    });
    

    我想换一些 function(){...} 与真正的功能,清理一点东西,并摆脱所有的缩进。如何将实数函数分配给回调函数之一而不是匿名函数?

    4 回复  |  直到 14 年前
        1
  •  3
  •   Joyce Babu    14 年前
    function abc(){
      return false;
    }
    var callback = {click : abc}
    

    callback.click.call callback.click.apply

        2
  •  3
  •   Ignacio Vazquez-Abrams    14 年前

    function(){ ... }

        3
  •  1
  •   Tim M.    14 年前

    function CreateDialog() { //Build dialog box to add stuff to grid
                        $('<div></div>')
                        .html('...')
                        .dialog({
                            buttons: {
                                done: { //Finished button on dialog box
                                    OnClick: function() {
                                        $(this).dialog('close');
                                    }
                                }
                            }
    
    
    $(function() {
        $(foo).Something( {  //Something is a grid control
           buttons: {
                add: {
                    onClick: CreateDialog
                    }
                }
           } 
        } );
    });
    

    http://jqueryui.com/demos/dialog/#option-buttons

        4
  •  0
  •   Ates Goral    14 年前

    functionname()