콧수염 JS 템플릿을 통해 함수에서 생성 된 버튼이 있습니다. 클릭 이벤트/바인드 이벤트가 jQuery에서 작동하지 않습니다. Mustache JS에서 버튼을 생성 할 때
{{#attributes}}
<a class="button--small btn" data-selector="{{selector}}">{{title}}</a>
{{/attributes}}
그의 샘플 출력은 그러나
<a class="button--small btn" data-selector=".news">More News</a>
이다, 나는이 버튼을 클릭 만에 상관없이 내가 .click(function() { });
또는 .bind
사용 여부가 보이지 않을 때 다른 jquery
기능을 실행하는 것을 시도하고있다 일하다? 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