2010-12-29 4 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>

Wenn Sie diesen Code testen, wird die Schaltfläche "Umschalten" aktiviert und deaktiviert.Object.Watch mit deaktiviertem Attribut

Wenn Sie die Zeile btn.watch() jedoch nicht kommentieren, wird das deaktivierte Tag immer auf "true" gesetzt.

Irgendwelche Ideen?

Antwort

0

Da Monitorfunktion durch Uhr definiert muß neuen Wert zurückgeben:

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

EDIT: Ich nehme an, Sie Ihren Monitor Methode definieren mögen, ohne die Funktionalität des Skripts zu beeinflussen. Deshalb müssen Sie darauf achten, einen neuen Wert für die Eigenschaft disabled zurückzugeben.

+0

Vielen Dank! Funktioniert perfekt. Ich fühle mich jetzt ziemlich dumm. –

Verwandte Themen