Javascript 克隆输入时onblur不工作
我想将输入类型文本更改为密码。但它在ie8中不起作用。我找到了解决办法;克隆并替换输入,但克隆后onblur不工作 调试器不会中断OnBlur函数。谁能给我看看吗 以下是js代码:Javascript 克隆输入时onblur不工作,javascript,jquery,Javascript,Jquery,我想将输入类型文本更改为密码。但它在ie8中不起作用。我找到了解决办法;克隆并替换输入,但克隆后onblur不工作 调试器不会中断OnBlur函数。谁能给我看看吗 以下是js代码: $(document).ready(function () { var input = document.getElementById("Password"); var input2 = input.cloneNode(false); input2.id = 'password1';
$(document).ready(function () {
var input = document.getElementById("Password");
var input2 = input.cloneNode(false);
input2.id = 'password1';
input2.type = 'password';
$('#Password').focus(function () {
input.parentNode.replaceChild(input2, input);
input2.focus();
});
$('#password1').blur(function () {
if ($(this).val() == '' || $(this).val() == Passwordtxt) {
document.getElementById("password1").setAttribute("type", "text");
$(this).val(Passwordtxt);
}
});
});
在事件委托上使用
试试这个
$(document).on('blur','#password1',function () {...
用最接近的元素替换文档是首选的在事件委托中使用
试试这个
$(document).on('blur','#password1',function () {...
用最接近的元素替换文档是首选更改
$('#password1').blur(function () {
到
看
W3C将焦点和模糊事件指定为不冒泡,但jQuery定义了不冒泡的跨浏览器focusin和focusout事件。当使用focus和blur附加委托事件处理程序时,jQuery映射名称并分别作为focusin和focusout传递它们。为保持一致性和清晰性,请使用冒泡事件类型名称。更改
$('#password1').blur(function () {
到
看
W3C将焦点和模糊事件指定为不冒泡,但jQuery定义了不冒泡的跨浏览器focusin和focusout事件。当使用focus和blur附加委托事件处理程序时,jQuery映射名称并分别作为focusin和focusout传递它们。为保持一致性和清晰性,请使用冒泡事件类型名称。否,这不起作用。模糊不会起泡。看,不,这不行。模糊不会起泡。看见