동적으로 생성 된 여러 textAreas가 javascript through 루프에 있습니다. 나는 그것을 "readonly"만들고 문자열을 사용하여 다른 값을 설정했습니다. 이제는 원하는 모든 textArea를 클릭 할 때마다 함수를 호출해야합니다.이 함수에서는 클릭 된 텍스트 영역의 값을 표시하려고합니다. 이제 그 텍스트 ID를 클릭해야합니다. 나는 textarea.id를 통해 그것을 얻었지만 동적으로 생성 된 텍스트 영역의 마지막 ID를 보여줍니다. 이드를 얻는 데 15 개의 텍스트 영역을 만든 것처럼 나에게는 15 번째 ID가 표시됩니다.동적으로 생성 된 텍스트 영역의 ID 가져 오기
var div = document.createElement("div");
div.setAttribute("style","margin-left:10px;width:750px;height:180px;background-image:url(images/questions_option_bg_2.png);position:relative;margin-top:15px");
textarea = document.createElement("textarea");
textarea.setAttribute('id', "textid"+i);
textarea.setAttribute('readonly', 'readonly');
textarea.setAttribute("cols",35);
textarea.setAttribute("rows",5);
textarea.setAttribute("style","overflow:hidden;color: white; font-size: 30px;margin-left:10px;position:relative;margin-top:5px;background:transparent;border:thin;outline:none;");
textarea.value=all_sel_questions[(question_shuffled_array[i])];
div.appendChild(textarea);
$("#third_div").append(div);
textarea.addEventListener('click', clickonTextArea, false);
function clickonTextArea()
{
var value=textarea.id;
alert(value);
}
''textarea' 함수 clickonTextArea' 주변 범위이다 (따라서 * 마지막 할당 된 값에 대한 참조 *를 보유하고있다.) 아마 네이티브 이벤트 핸들러 this'은'정의? 그렇지 않은 경우 jQuery를 사용하여 click 이벤트를 바인딩하는 것이 좋습니다. – jensgram