2017-11-01 19 views
0

サーバーレスポンスによってレンダリングされた要素から特定の関数を起動する方法を理解できない場合があります。htmlサーバーへのイベントバインディングの応答

私はdiv要素(ID =「myDiv」)のようなものを持っているコンポーネントのテンプレートで

私は、HTMLマークアップを返すサーバーへの要求を行います。 <a href="javascript: myFunction();":だから私のコンポーネントで、私は $('#myDiv').html(response);

ような何かをするだろうこれに伴う問題は、私はHTMLマークアップとの完全なページを取得し、すべての<li>項目は、タグを持っていることです。すべての要素がすでにプレーンhtmlとして渡されているので、各li項目に(click)="myFunction"イベントバインディングを設定するにはどうすればよいですか?

編集:私は機能を持っている

(あなたがアイブを見ることができるようなフォーマットのためと申し訳ありませんが、実際には前に何かを掲載しません)

loadData(val){ 
let url = 'http://www.something.com/some-endpoint?lg='+val; 
$.post(url,function(data)){ 
    $('#myDiv').html(data); 
} 
} 

data応答は、どこかで長く複雑な、そしてありますそこに、あります:

<li><a href="javascript: loadData(@id)"></a></li> 

ユーザーがタグをクリックしたときの角度がFUNCTを発生しませんので、私は、loadData()を実行することはできませんイオン。

(click)="loadData()"を追加することはできません。サーバーからの応答です。あなたが動的にそれらのliを追加しているとして

+0

動的に追加された 'li'権利で' onClick'イベントをトリガーしたいですか? –

+0

はい、基本的に、応答はすでにフルページのHTMLマークアップであるため、テンプレートのliを操作することはできません。 liは 'href =" javascript:someFunction(); "構文のアンカータグであるため、関数は起動しません – flawedMnemonic

+0

発生している問題を再現するコードサンプルを提供できますか? – biagidp

答えて

0

、これは

$(document).on('click', 'li', function(){ 
    //Do what ever you want on click event 

}); 

それとも

$(document).on('click', 'a', function(){ 
    //Do what ever you want on click event 
}); 

動作するはずそれとも、すべてのそれらの '' タグにクラスを追加して試すことができます

$(document).on('click', 'NameOfClassAddedinATages', function(){ 
    //Do what ever you want on click event 

}); 
関連する問題