以下のコードを使用して、フォーカスのあるテキスト ボックスを置き換えています。
window.changeInputType = function(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;
var focus = newObject.focus;
newObject.focus = "xxx";
oldObject.parentNode.replaceChild(newObject,oldObject);
newObject.select();
return newObject;
}
そしてHTMLは
<input type="password" onfocus="changeInputType(this,'text')"
onblur="changeInputType(this,'password')">
しかし、これにより、フォーカスするたびに要素が何度も追加され、終わりのない繰り返しが発生します。onfocus イベントと onblur イベントを置き換えて、後で setTimeout 関数に割り当てることはできますか? どうすればそれを達成できますか