11

maxlength="2" 属性を持つ単純な入力フィールドを取得しました。コードは次のようになります。

<input id="txtLoginName" maxlength="2">

ほとんどの Android デバイスで正常に動作します。ただし、HTC One M7 では機能しません。このデバイスでは、好きなだけ文字を入力できます。

なにか提案を?これまでのところ、それはデバイス固有の問題であるべきだと思います。

前もって感謝します。

4

4 に答える 4

7

これを試してください:

var $input = $('input')
$input.keyup(function(e) {
    var max = 5;
    if ($input.val().length > max) {
        $input.val($input.val().substr(0, max));
    }
});
于 2015-10-07T05:38:07.857 に答える
0

これを防ぐには、(Js-Jquery ハイブリッド) を使用する必要があります。

$("body").unbind("keyup").on("keyup","input[maxlength],textarea[maxlength]", function(event) {
    this.value=  this.value.substr(0, this.getAttribute("maxlength"));
    this.onkeyup && this.onkeyup();
});

onkeyup は、このコードの実行後に呼び出す必要があるインライン onkeyup がある可能性があるためです (たとえば、char カウンターを更新するため)。

于 2019-12-09T16:44:52.850 に答える