<script type="text/javascript">
var oldv; function test() {
var nDiv = document.getElementById("div1");
if (window.attachEvent) {
var nInput;
for (var i = 0; i < nDiv.getElementsByTagName("input").length; i++) {
nInput = nDiv.getElementsByTagName("input")[i];
nInput.attachEvent("onfocus", function (ev) {
var target = ev.srcElement;
oldv = target.value;
var st = target.getAttribute('style');
st.color = "Black";
target.value = ""; });
nInput.attachEvent("onblur", function (ev) {
var target = ev.srcElement;
if (target.value == "") {
target.value = oldv;
var st = target.getAttribute('style');
st.color = "Gray";
}
});
}
}
else {
alert("2");
} }
</script>
var oldv; function test() {
var nDiv = document.getElementById("div1");
if (window.attachEvent) {
var nInput;
for (var i = 0; i < nDiv.getElementsByTagName("input").length; i++) {
nInput = nDiv.getElementsByTagName("input")[i];
nInput.attachEvent("onfocus", function (ev) {
var target = ev.srcElement;
oldv = target.value;
var st = target.getAttribute('style');
st.color = "Black";
target.value = ""; });
nInput.attachEvent("onblur", function (ev) {
var target = ev.srcElement;
if (target.value == "") {
target.value = oldv;
var st = target.getAttribute('style');
st.color = "Gray";
}
});
}
}
else {
alert("2");
} }
</script>
你应该通过传入的事件参数获取触发事件的对象。
随便帮你改了下,你这代码只能在IE下运行。
<script type="text/javascript">
var oldv = "";
function onfocusHandler(e) {
var ev = e || window.event;
var elt = ev.target || ev.srcElement;
oldv = elt.value;
elt.style.color = "Black";
elt.value = "";
}
function onblurHandler(e) {
var ev = e || window.event;
var elt = ev.target || ev.srcElement;
if (elt.value == "") {
elt.value = oldv;
elt.style.color = "Gray";
}
}
function test() {
var nDiv = document.getElementById("div1");
var inputs = nDiv.getElementsByTagName("input");
for ( var i = 0; i < inputs.length; i++) {
var input = inputs[i];
if (input.addEventListener) {
input.addEventListener("focus", onfocusHandler, false);
input.addEventListener("blur", onblurHandler, false);
} else if (input.attachEvent) {
input.attachEvent("onfocus", onfocusHandler);
input.attachEvent("onblur", onblurHandler);
} else {
alert("error");
}
}
}
</script>