Javascript 使用replaceChild更改输入类型在IE8中不起作用
我正在使用下面的代码更改输入类型onfocus并将其重置为text onblur。但这是行不通的 HTMLJavascript 使用replaceChild更改输入类型在IE8中不起作用,javascript,Javascript,我正在使用下面的代码更改输入类型onfocus并将其重置为text onblur。但这是行不通的 HTML <input type="password" onfocus="changeInputType(this,'text')" onblur="changeInputType(this,'password')"> 这是小提琴。它不起作用。假设您想将type属性更改为password on blur和text on focus,那么
<input type="password" onfocus="changeInputType(this,'text')"
onblur="changeInputType(this,'password')">
这是小提琴。它不起作用。假设您想将type属性更改为password on blur和text on focus,那么代码不起作用的原因不止一个
replace('type=password','type=text')
replaceChild
时,会删除标记并触发另一个模糊事件,从而导致错误oType
变量function changeInputType(oldObject, oType) {
oldObject.type = oType;
}
您的小提琴不起作用,因为您将整个脚本包装在
onLoad
处理程序中,因此changeInputType
不是全局函数,因此无法从DOM0事件属性调用它。(奇怪的是,jsFiddle的默认设置是在onLoad
中进行包装,您不是第一个与之发生冲突的人。)@T.J.Crowder现在fiddle可以工作了,因为将类型从密码更改为文本不起作用。它将默默地失败。
function changeInputType(oldObject, oType) {
oldObject.type = oType;
}