js input入力ボックスのtypeプロパティを動的に変更する
2347 ワード
実現する必要がある効果:入力ボックスで、入力ボックスがフォーカスを取得していない場合、value値は「パスワード」です.入力ボックスがフォーカスを失った場合、入力内容は「**」と表示されます.
次のjsを直接思い浮かべます
予期した効果が得られなかったことを発見し、uncaught exception type property can’t be changedエラーが発生し、jQuery 1.42ソースコード1488行を確認した.
jQueryはソース生のJSを修正できませんか?
FFではパスワード入力ボックスtypeを「password」に変更してvalueを空に設定できるのに対し、IEではtype属性が得られないというメッセージが表示され、このコマンドはサポートされていない.typeを弾いてみて本当に手に入らないの?
ポップアップtextを発見して、もとは得られないのではありませんて、ただIEの下で修正することができません.そこで,まずremoveしてからtypeがpasswordのパスワード入力ボックスを生成できることを考えた.
次のtypeはpasswordの入力ボックスです
最終効果:入力ボックスにフォーカスがある場合、入力内容は「****」と表示されます.フォーカスを失った場合、コンテンツが空の場合は「パスワード」が表示されます.
<input name="password" type="text" id="showPwd" tabindex="2" class="input" value=" " />
次のjsを直接思い浮かべます
$("#showPwd").focus(function(){
$(this).attr('type','password');
});
予期した効果が得られなかったことを発見し、uncaught exception type property can’t be changedエラーが発生し、jQuery 1.42ソースコード1488行を確認した.
// We can't allow the type property to be changed (since it causes problems in IE)
if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) {
jQuery.error( "type property can't be changed" );
}
jQueryはソース生のJSを修正できませんか?
$("#pwd").focus(function(){
$("#pwd")[0].type = 'password';
$("#pwd").val("");
});
FFではパスワード入力ボックスtypeを「password」に変更してvalueを空に設定できるのに対し、IEではtype属性が得られないというメッセージが表示され、このコマンドはサポートされていない.typeを弾いてみて本当に手に入らないの?
$("#showPwd").focus(function(){
alert($("#showPwd")[0].type);
$("#showPwd")[0].type = 'password';
$("#showPwd").val("");
});
ポップアップtextを発見して、もとは得られないのではありませんて、ただIEの下で修正することができません.そこで,まずremoveしてからtypeがpasswordのパスワード入力ボックスを生成できることを考えた.
次のtypeはpasswordの入力ボックスです
<input name="password" type="password" id="password" class="input" style="display: none;" />
$("#showPwd").focus(function() {
var text_value = $(this).val();
if (text_value == this.defaultValue) {
$("#showPwd").hide();
$("#password").show().focus();
}
});
$("#password").blur(function() {
var text_value = $(this).val();
if (text_value == "") {
$("#showPwd").show();
$("#password").hide();
}
});
最終効果:入力ボックスにフォーカスがある場合、入力内容は「****」と表示されます.フォーカスを失った場合、コンテンツが空の場合は「パスワード」が表示されます.