私は口髭矯正JSテンプレートを介して関数で生成されるボタンを持っています。Clickイベント/バインドイベントは、Mustache JSでボタンを生成するときにjQueryで機能しません
{{#attributes}}
<a class="button--small btn" data-selector="{{selector}}">{{title}}</a>
{{/attributes}}
とそののサンプル出力は、しかし、私はこのボタンをクリックしたときに別のjquery
機能を実行するために
<a class="button--small btn" data-selector=".news">More News</a>
しようとしていますされているが、関係なく、私は.click(function() { });
または.bind
を使用するかどうかのそれはいないようです働く? console.log
でも印刷されないので、適切な条件には慣れていません。ここで
はスクリプトです:あなたはeventを委任する必要が新たに作成された要素については
function lazyload(selector) {
$("a[data-selector^='"+selector+"']").bind("click", function(e) {
e.preventDefault();
loadNews(selector);
});
}
$(document).ready(function(){
lazyload(".news"); // CALL FUNCTION READY FOR USAGE
});
単に「ニュース」をデータではなくクラスにする方が簡単かもしれません。 '$(" news ")...'などもできます。また、 '.bind'は廃止予定ですので、代わりに' .on'を使用してください(同じメソッドの署名)。最後に、あなたの ''要素がページの読み込み時に読み込まれますか?後であれば、委任されたイベントをサポートする '.on'のバージョンを使用する必要があります(jQueryのドキュメントを参照してください)。http://api.jquery.com/on/ – ADyson