내 응용 프로그램에 동적으로 요소에 이벤트를 적용하려고합니다.동적으로 자바 스크립트 setAttribute
onclick을 사용했을 때 나는 팝업 알림을받습니다.
el.setAttribute('onclick', 'alert("hi")',0);
onkeypress를 사용하려고하면 아무 일도 일어나지 않습니다.
el.setAttribute('onkeypress', 'alert("Hi");',0);
정말 onkeypress를 사용할 수 있어야합니다. 내가 잘못하고있는 것이 있습니까? setAttribute가 내가하는 일을 성취하는 가장 좋은 방법이 아닌가? 그렇다면 특정 요소에 이벤트를 동적으로 설정하는 대안은 무엇입니까?
UPDATE :
내가 할 경우에는 아래의 질문 몇 가지 답변을 그러나
<div id="objSCR" class="txtbox" onmousedown="pfocus(this, '', '');" style="color:#0000FF; width:62px; height:12px; top:76px; left:120px; text-align:right; color:#0000FF;" ptmulti="false" pttype="E" ptlayndx="4" ptdisp="false" ppopup="" plength="12" onchange="numericOverride(this)">4000.00</div>
: 나는 방화범의 소스를 보면
el.setAttribute('onkeypress','numericOverride(this)',0);
내가 다음을 참조 , 텍스트의 값을 변경하면이 함수에서 출력됩니다 :
function numericOverride(val){
console.log('hello');
}
012 3,516,
나는 다음을 수행하려고 :
el.onchange = function() { numericOverride(this) }
아무것도 사업부에 추가되지 도착하고 난 함수로부터 결과를 얻을 수 없습니다.
EventListener는 옵션이 아닙니까? 그것은 당신이 필요로하는 것처럼 보이는 것입니다 ... –
속성이 아닌 DOM 속성을 설정하려고합니다. 속성은 HTML을 통해 설정됩니다 (기본 상태로). –
@Matt - 어떻게 DOM 속성을 설정합니까? – webdad3