2

入力タイプのテキストをパスワードに変更したい。しかし、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);
        }
    });
});
4

2 に答える 2

0

変化する

$('#password1').blur(function () {

$('body').on('focusout','#password1',function () {

見る.on()

およびイベントは、W3C によってバブルしないように指定されfocusblurいますが、jQuery ではクロスブラウザーfocusinとバブルするイベントが定義されfocusoutています。委任されたイベント ハンドラーをアタッチするためにfocusblurを使用すると、jQuery は名前をマップし、focusinそれぞれ およびとして配信しfocusoutます。一貫性と明確さのために、バブリング イベント タイプ名を使用します。

于 2013-01-24T10:57:46.113 に答える
-2

onイベント デリゲートを使用する

これを試して

$(document).on('blur','#password1',function () {...

documentを最も近い要素に置き換えることをお勧めします

于 2013-01-24T10:05:20.330 に答える