4

これは、Chrome と JQuery UI でのみ発生する奇妙な動作です。最初にパスワード フィールドに文字を入力すると、すべてが正しく機能します。ただし、入力の最後の文字にバックスペースしようとすると、ブラウザはすべてのクライアント側の操作をロックします。また、入力した文字を強調表示してバックスペースを試みると、クライアント側の操作がフリーズします。

誰かがこの同じ問題に遭遇したかどうか、そして彼らがどのように解決したかを確認するために手を差し伸べるだけです.

この問題を経験するために、2 つ以上の固有のページ ホーム ビューでダイアログが自動的に開くようにしました。こちらがリスティング ページですので、トリガーすることができます。ご迷惑をおかけして申し訳ありませんが、カウンターを削除することはできません。

ページ: http://www.christineleeteam.com/area/eagleharbor

4

3 に答える 3

4

同じ問題が発生しましたが、キャッシュのクリアは役に立ちませんでした。jqueryuiのバグではないと確信しています。これが私の解決策です:

   $('input[type="password"]').on('keydown', function(event){
     if (event.which == 8) { //backspace event
       event.preventDefault();
       $(this).val('');
     }
   });

このコードは、1つのバックスペースイベントでパスワードフィールド全体をクリアしています。

于 2013-02-25T00:13:11.233 に答える
4

同じ問題が発生し、Benkod のソリューションを使用しました。パスワード テキストが削除キー (バックスペースではなく) で削除された場合も処理できるように少し改善しました。もう 1 つのケースは、コントロール内のすべてのテキストが選択され、それを置き換えるために新しいテキストが入力された場合です。使用したスクリプトは次のとおりです。

    Sys.Application.add_load(function() {
        $('input[type=password]').keydown(function(event) {

            var isAllTextSelected = this.value.slice(this.selectionStart, this.selectionEnd) == this.value;
            var isLastChar = $(this).val().length == 1;
            if (isAllTextSelected && $(this).val().length > 0) {
                $(this).val('');
            }
            if ((event.which == 8 || event.which == 46) && (isLastChar || isAllTextSelected)) { //backspace event

                event.preventDefault();
                $(this).val('');
            }
        });
    });
于 2013-04-23T16:05:07.990 に答える
0

ここでも同じ問題があります (FWIW、私は Twitter Bootstrap を使用していますが、問題は同じでした)。入力の前にたくさんのコンテンツがあることが原因のようです。入力をより高く、つまり他のコンテンツの大部分よりも上に配置すると、うまくいきました。回避策ですが、何もないよりはましです。

于 2013-07-13T09:58:53.093 に答える