overlay-controls
이라는 상위 div에 포함 된 컨트롤 목록이 있습니다.버블 링으로 많은 요소의 클릭 이벤트 처리
각 목록 컨트롤에는 각각 고유 한 overlay-controls
이 있습니다.
나는 for 루프를 사용하여 delete
클래스를 포함하는 각 버튼에 이벤트 리스너를 추가하고 있습니다.
사용자가 항목을 삭제하기 전에 확인해야합니다. 오버레이 컨트롤에있는 모든 삭제 버튼에 첨부하려고합니다.
for 루프를 사용하여 작동하도록 만들었지 만 버블 링 및 캡처를 사용하는 것이 더 좋은 방법이라는 것을 알고 있습니다. 상위 div로 버블 링하여 오버레이 컨트롤 내부의 삭제 클래스 만 타겟팅하는 데 문제가 있습니다. 내 코드는 for 루프를 사용하고 여기에 http://jsfiddle.net/8qqfeoa2/1/
:
각 삭제 버튼을 클릭하면 여기에 라이브 데모를 참조
(function() {
function getConfirmation(e){
var retVal = confirm("Are you sure you want to delete this request?");
if(retVal == true){
return true;
}else{
e.preventDefault();
return false;
}
}
var del = document.querySelectorAll('.delete');
for(var i = 0, len = del.length; i < len; i++){
del[i].addEventListener('click', function(e) {
getConfirmation(e);
}, false);
}
}());
하나를 요청한다. 그 이유가 있을까요? – dehrg
은 jQuery를 피하기를 원하지만 (학습 목적으로) jQuery 솔루션을 고려할 것이다. – AntonB