gpt4 book ai didi

javascript - 使用 replaceChild 更改输入类型在 IE8 中不起作用

转载 作者:行者123 更新时间:2023-12-04 00:05:22 24 4
gpt4 key购买 nike

我正在使用以下代码更改输入类型 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是 fiddle 。它不起作用。

最佳答案

假设您想要将类型属性更改为模糊时的密码和焦点时的文本,您的代码无法正常工作的原因不止一个。

  1. 您在替换调用中缺少双引号:replace('type=password','type=text')

  2. 当您调用 replaceChild 时,标签会被移除并触发另一个模糊事件,从而导致错误。

  3. 您没有在任何地方使用 oType 变量。

像下面的代码一样使用 type 属性会更容易:

function changeInputType(oldObject, oType) {
oldObject.type = oType;
}

关于javascript - 使用 replaceChild 更改输入类型在 IE8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13884258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com