2016-08-07 6 views
1

現在、私はjavascriptモジュールについて勉強しています。私はこのファイルに出くわしました。それは、中括弧とその後のイベントの場所をクリックすることを私に混乱させます。 (中括弧内の)要素がこれを行うクリックした場合、私は、それが意味するかもしれないことを中括弧の後にイベントが続きますが、javascriptモジュールではどういう意味ですか?

を推測することができますが...

を私はそれを確認し、それがこのようにバインドさだ理由を知りたいのです。上記のコードから

$(document).on("click.es.reports.link", "[data-reports-link]", function(){ 

     var button = $(this); 
     var props = "url,extension,uid,type,object,title,description".split(","); 
     var data = {}; 

     $.each(props, function(i, prop){ 
      data[prop] = button.data(prop); 
     }); 

     FunSocial.dialog({ 

      content: FunSocial.ajax("site/views/reports/confirmReport", { 
        title: data.title, 
        description: data.description 
      }), 
      selectors: { 
       "{message}": "[data-reports-message]", 
       "{reportButton}": "[data-report-button]", 
       "{cancelButton}": "[data-cancel-button]" 
      }, 
      bindings: { 

       "{reportButton} click": function() { 

        ..code removed for brevity... 
       }, 

       "{cancelButton} click": function() { 
        ..code removed for brevity... 
       }  
      } 
     }); 
    }); 

、この平均何

"{message}": "[data-reports-message]", 

そして、何これはどういう意味:

"{reportButton} click": function() { 
    ..code removed for brevity... 
    }, 
+0

これはJavaScriptやjQueryの問題ではありません。どうやら、 'FunSocial.dialog'はそれらのプレースホルダーで何かをしています。 –

答えて

1

両方

"{message}": "[data-reports-message]", 

"{reportButton} click": function() { 
    ..code removed for brevity... 
    }, 

...オブジェクト初期化子です。

var obj = { 
 
    "{message}": "[data-reports-message]" 
 
}; 
 
console.log(obj);

{}部品がFunSocial.dialogが持つ何かをするプレースホルダのようになります。彼らは正確にそれらの名前付きプロパティを作成します。例えば、あなたの第二の例では:

"{reportButton} click": function() { 
    ..code removed for brevity... 
    }, 

...私はそれが、その名を取り「レポートボタン」を識別するために必要なセレクタで{reportButton}を置き換え、そのボタンのイベントハンドラを設定します疑います。

関連する問題