단어 목록과 같은 클래스로 여러 개의 버튼을 만들었습니다.동일한 클래스의 여러 버튼이 작동하지 않습니다.
var words = $(this).val().split(' ');
$.each(words, function(i, v) {
if ($.trim(v) !== '') {
html += "<button class='wordbtn'>"+ v +"</button>" + " "
}
});
$("p").html(html);
단추는 내보기에 표시되지만 단추를 클릭하면 작동하지 않습니다.
$(".wordbtn").click(function(){
console.log('clicked')
})
코드 단추를 검사 할 때 소스 코드를 볼 때 단추가 표시되지 않습니다. 테스트 할 사전 버튼을 삽입하면 작동합니다.
<p><button class='wordbtn'>Test</button><p>
이는 자바 스크립트가 소스 코드가로드 된 후 클라이언트 측에서 실행되기 때문입니다. '$ ("p") 바로 뒤에 이벤트를 첨부하십시오 .html (html);'maybe? – Isaac
JS 코드는 "소스보기"에 영향을주지 않습니다. – SLaks
.click 처리기가 추가 된 후이 버튼이 동적으로 생성 된 경우 해당 버튼에는 클릭 핸들러가 추가되지 않으므로 자바 스크립트는 시공간 법칙을 준수합니다.버튼을 만든 후에 클릭 이벤트를 추가하거나 클릭 이벤트 핸들러를 추가 할 때 이벤트 위임 기법을 사용해야합니다. –