Javascript 克隆输入时onblur不工作

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';

我想将输入类型文本更改为密码。但它在ie8中不起作用。我找到了解决办法;克隆并替换输入,但克隆后onblur不工作

调试器不会中断OnBlur函数。谁能给我看看吗

以下是js代码:

$(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传递它们。为保持一致性和清晰性,请使用冒泡事件类型名称。

否,这不起作用。模糊不会起泡。看,不,这不行。模糊不会起泡。看见