입력 텍스트 컨트롤에 이벤트 핸들러를 추가하고 싶습니다. 컨트롤은 동적으로 생성됩니다.자바 스크립트에서 이벤트 핸들러를 설정하지 못했습니다.
이var settings_check = new Array("checkVMName()","checkDiskMB()","checkMemMB()","checkEsx()","checkDatastore()");
...
_inputbox = document.createElement("input");
_inputbox.type = "text";
_inputbox.id = settings[zindex];
_inputbox.onblur = settings_check[zindex];
_hint = document.createElement("hint");
_hint.id = settings[zindex] + "_Label2";
_hint.innerText = settings_hint[zindex];
mycurrent_cel2.appendChild(_inputbox);
mycurrent_cel2.appendChild(_hint);
하지만이 방법은 작동하지 않습니다
자바 스크립트 : 내 코드는 같다. 필자는 Firebug를 사용하여 HTML을 검사했으며 입력 텍스트 컨트롤에는 "onblur"속성을 전혀 사용하지 않았습니다.
는 HTML
<tr> <td>....</td> <td><input type="text" id="Datastore"> <hint id="Datastore_Label2">start with /</hint> </td> </tr>
또한 이벤트 핸들러를 설정하는 다른 방법을 시도 같은_inputbox.onblur = function(){alert("test");};
또는
_inputbox.setAttribute("onblur",func);
네 ither 작동합니다. :
수동으로 onblur = function() {...}을 Firebug가있는 HTML의 입력 텍스트 컨트롤에 추가하고 실행하면 onblur가 작동합니다. 그래서 질문은 : for event handler for 자바 스크립트에서 제어? 내 코드에 뭔가 잘못이? 거기에 감사합니다.
, 이것은 완전히 잘못된
감사합니다. Jacob. 나는 코드가 내 집 PC에 있고 나는 집에 없기 때문에 당신이 제안을 시도조차하지 않고 있어도 당신이 옳다고 믿습니다. 시도한 후에 알려 드리겠습니다. 다시 한 번 감사드립니다! – Landy
@ Landy 알았어요. –
늦게 업데이트하여 죄송합니다. 코드를 수정 한 후 제안한 함수에 대한 참조를 할당하면 코드는 여전히 이벤트 처리기를 호출하지 못했습니다. Firebug의 DOM보기에서 onblur 속성이 함수에 할당 된 것을 볼 수 있습니다. 그러나 그것은 단지 부름받을 수 없습니다. 그래서 아마 내 코드에 하나 이상의 오류가 있다고 생각합니다. 당신의 도움으로 첫 번째 문제를 해결했지만 여전히 왼쪽 그림을 잡으려고했습니다 ... 어떤 제안이 있습니까? 나는 그것에 대해 새로운 질문을하는 것을 고려하고있다. 감사합니다 – Landy