목록에 요소를 추가하는 스크립트가 있습니다. 요소를 클릭하면 함수가 호출되고이 함수의 경우 li을 만들 때 변수의 값이 필요합니다 (li
내용).JavaScript로 요소를 만들 때 onclick 이벤트를 추가하는 방법은 무엇입니까?
newLi.onclick = function(){...}
과 같은 해결책을 확인했습니다.
이 솔루션의 문제점은 함수에서 올바른 값을 얻지 못하고 목록의 다른 요소 값을 얻게된다는 것입니다.
var ULlist = document.getElementById('ULid');
for(i=0;i<data.length;i++){
var Value = data[i] //function to get data
var newLi = document.createElement('li');
newLi.appendChild(elements.createTextNode(Value));
newLi.onclick = function(){alert(Value)} //not displaying the right value
ULlist.appendChild(newLi);
}
그래서 질문은, 요소에 변수의 오른쪽 값을주고 테 onclick 이벤트를 만들 수있는 방법이된다
는 지금이 내가 요소를 만드는거야 어떻게?
편집 : 더 많은 코드를 추가했습니다. 리의가 생성, 정보가 제대로 표시되고있는, 유일한 문제는 올바른 가치를 포기하지 않을거야하는 이벤트를 만들려고 할 때, 즉, 특히 element.addEventListener API li
당신은 루프에서 이벤트 처리기를 추가, 당신은하지 않습니다? – Esailija
네, 물론, Data의 값이 모든 루프를 변경하고 있으며, 함수의 값이 'li'요소에 대해 올바르지 않습니다. 클릭을하고 있습니다. – Nuxy
@Nuxy 그래서 완벽한 루프를 보여주세요 ... – Alnitak