我使用下面的代码更改onfocus的输入类型并将其重置为文本onblur。但这不起作用
HTML
<input type="password" onfocus="changeInputType(this,'text')"
onblur="changeInputType(this,'password')">
JS
function changeInputType(oldObject, oType) {
var newObject = document.createElement('input');
var wrapper= document.createElement('div');
wrapper.innerHTML= oldObject.outerHTML.replace('type=password','type=text');
var newObject = wrapper.firstChild;
oldObject.parentNode.replaceChild(newObject,oldObject);
return newObject;
}
here是小提琴。它不起作用。
答案 0 :(得分:0)
假设您想要将模式属性更改为模糊时的密码和焦点上的文本,那么您的代码不会因多种原因而起作用。
您在替换号码中缺少双引号:replace('type=password','type=text')
当您致电replaceChild
时,标签会被移除,并会触发另一个模糊事件,从而导致错误。
您没有在任何地方使用oType
变量。
更容易使用类型属性,如下面的代码:
function changeInputType(oldObject, oType) {
oldObject.type = oType;
}