클릭 시 클래스 속성 값을 캡처하는 과정에서 JavaScript 코드에 문제가 발생했을 수 있습니다. 특히, classname.addEventListener('click', myFunction(), false); 요소에 이벤트 리스너를 등록하지 못했습니다.
이 문제를 해결하려면 코드를 단계별로 분석해 보겠습니다.
수정된 코드:
문제를 해결하려면 getElementsByClassName에서 반환된 각 요소에 이벤트 리스너를 올바르게 연결해야 합니다. . 수정된 코드는 다음과 같습니다.
var elements = document.getElementsByClassName("classname"); var myFunction = function() { var attribute = this.getAttribute("data-myattribute"); alert(attribute); }; for (var i = 0; i < elements.length; i++) { elements[i].addEventListener('click', myFunction, false); }
수정 설명:
ES6에서는 루프 및 이벤트 리스너 추가를 더 간결하게 수행할 수 있습니다.
Array.from(elements).forEach(function(element) { element.addEventListener('click', myFunction); });
IE6-8과 같은 이전 브라우저의 경우 다음이 있는지 확인하는 것이 좋습니다. 사용하기 전에 getElementsByClassName을 사용하세요.
위 내용은 클래스에 이벤트 리스너를 추가하는 데 `classname.addEventListener(\'click\', myFunction(), false);`가 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!