2009-10-14 3 views
0

다음과 같이 setInnerXTHML()에 'onClick'속성을 포함하면 :FBJS가이 입력 요소에서 'onclick'속성을 삭제하는 이유는 무엇입니까?

var innerHtml = '<span>Build Track: Select a city where track building should begin'+ 
       '<div id="action-end">'+ 
       '<form>'+ 
       '<input type="button" value="End Track Building" id="next-phase" onClick="moveTrainAuto();" />'+ 
       '</form>'+ 
       '</div></span>'; 
actionPrompt.setInnerXHTML(innerHtml); 
var btn = document.getElementById('next-phase'); 
btn.addEventListener('click', 'moveTrainAuto'); 

'onClick'이 삭제됩니다. 나는 이것이 방화범이 끌린 물건을 검사하는 것으로부터 이것을 안다.

<input id="app148184604666_next-phase" type="button" value="End Track Building"/> 

다음은 onClick을 호출하는 함수입니다.

function moveTrainAuto(evt) { 
debugger; 
    ajax = new Ajax(); 
    ajax.responseType = Ajax.JSON; 
    ajax.ondone = function(data) { 
debugger; 
    if(data.code == 'UNLOAD_CARGO') { 
     unloadCargo(); 
    } else if (data.code == 'MOVE_TRAIN_AUTO') { 
     moveTrainAuto(); 
    } else if (data.code == 'TURN_END') { 
     turnEnd(); 
    } else { 
     /* handle error */ 
    } 
    } 
    ajax.post(baseURL + '/turn/move-trains-auto'); 
} 

위에서 보듯이 'onClick'과 'addEventListener'를 모두 시도했습니다. 둘 다 작동하지 않습니다. 어떤 아이디어?

답변

0

함수 이름을 전달하는 대신 함수를 전달하십시오.

btn.onClick = moveTrainAuto; 

하지

btn.onClick = 'moveTrainAuto'; 
관련 문제