2017-12-25 8 views
-1

私はここ(バックボーンビュー内である)のdivにクリックイベントをバインドするBackboneJSのビュー要素でイベントをバインドする方法は?

をしようとしているが、私はビューを作成し、これはそれのため

dialogModel = new Dialog.SimpleWindowModel({ 
       title: 'export:export.dialog.title', 
       data: { 
        message: 'export:export.dialog.message', 
        downloadPDF: 'export:export.dialog.downloadPDF', 
        shareByQRCode: 'export:export.dialog.shareByQRCode', 
        sendEmail: 'export:export.dialog.sendEmail', 
       }, 
       bodyTemplate: exportTpl, 
      }); 

dialogView = new Dialog.WindowView({ model: dialogModel }); 

dialogView.on('click .download-pdf', function() {console.log("ff");}); 
dialogView.on('click .share-qr-code', ExportAction.shareByQRCode); 
dialogView.on('click .send-email', ExportAction.sendEmail); 

を、イベントを設定するコードですビューテンプレート:

<div class="export-button-container"> 
    <div class="btn export-button download-pdf"> 
     <img src="https://betanews.com/wp-content/uploads/2015/09/PDF.jpg"/> 
     <p class='dialog-message' data-i18n>{{downloadPDF}}</p> 
    </div> 
    <div class="btn export-button share-qr-code"> 
     <img src="https://www.qrstuff.com/images/sample.png"/> 
     <p class='dialog-message' data-i18n>{{shareByQRCode}}</p> 
    </div> 
    <div class="btn export-button send-email"> 
     <img src="https://d1hoh05jeo8jse.cloudfront.net/media/google/gmail-icon.jpg"/> 
     <p class='dialog-message' data-i18n>{{sendEmail}}</p> 
    </div> 
</div> 

私はクラス= "ダウンロード-PDF"、はconsole.log( "FF")をdiv要素をクリックしたときにすることを期待。実行されるだろうが、そうではありませんでした。

これを解決するにはどうすればよいですか? は

+0

この質問は大爆笑、downvoteに値する理由はわかりません。 –

答えて

3

on方法のみinternal Backbone eventsなどaddremove、ないなclickとしてDOMイベントでの使用を意図していただきありがとうございます。 DOMイベントの場合は、Viewのeventsハッシュ/メソッドを使用する必要があります。これはカスタムビュークラスで指定するか、Viewコンストラクタにオプションとして渡すことができます。ビュークラスの定義が隠されているあなたのコードについては、

、あなたは第二のオプション(コンストラクタに渡す)を使用することがあります。

dialogView = new Dialog.WindowView({ 
    model: dialogModel, 
    events: { 
     'click .download-pdf': function() {console.log("ff");}, 
     'click .share-qr-code': ExportAction.shareByQRCode, 
     'click .send-email': ExportAction.sendEmail 
    } 
}); 
+0

サンプルコードを提供していただけますか? Viewのイベントに関するリンクは非常に混乱していますが、内部的なバックボーンイベントです –

+0

ああ、モデルの「イベント」ハッシュ内にすべてのイベントを追加する必要があるのですか? –

+0

_ Viewのイベントに関するリンクは非常に混乱しています._ Imhoはかなり分かりやすく、コード例もあります。何があなたをそこに混乱させますか? – hindmost

関連する問題