2010-12-29 7 views
0
<html> 
<head> 
<script type="text/javascript"> 
window.onload = function() { 
var btn = document.getElementById("button"); 
var tog = document.getElementById("toggle"); 
tog.onclick = function() { 
    if(btn.disabled) { 
    btn.disabled = false; 
    } else { 
    btn.disabled = true; 
    } 
}; 
//btn.watch("disabled", function(prop, val, newval) { }); 
}; 
</script> 
</head> 
<body> 
<input type="button" value="Button" id="button" /> 
<input type="button" value="Toggle" id="toggle" /> 
</body> 
</html>

이 코드를 테스트하면 Toggle 단추가 성공적으로 다른 단추를 사용하거나 사용하지 않도록 설정합니다.Object.Watch가 비활성화 된 속성을 사용합니다.

그러나 btn.watch() 행의 주석을 해제하면 항상 disabled 태그가 true로 설정됩니다.

아이디어가 있으십니까?

답변

0

시계에 의해 정의 된 모니터 기능은 새 값을 반환해야하기 때문에 :

btn.watch("disabled", function(prop, val, newval) { return newval; }); 

편집 : 난 당신이 스크립트의 기능에 영향을주지 않고 모니터 방법을 정의한다고 가정. 따라서 disabled 속성에 대한 새 값을 반환해야합니다.

+0

고마워요! 완벽하게 작동합니다. 나는 지금 바보 같아. –

관련 문제