0

input に数値が入力されるたびにトリガーされるカスタム イベントを作成したいと考えていますtype="text"。アルファベットは無視してください。イベントはうまく機能しませんでしたchangeblur

助言がありますか?ありがとう。

4

6 に答える 6

2

カスタム イベントを簡単に作成できます。

// handle event
$('#mydiv').on('customevent', function(e) { });

// trigger event
$('#mydiv').trigger('customevent');
于 2012-03-05T12:55:55.480 に答える
1

changeまたはイベントを引き続き使用できるblur場合がありますが、入力がイベントをトリガーするものであるかどうかを検出する追加のロジックを挿入します。

$(".field").on("change blur keydown keyup", function(){
    if($(this).val().match(/^\d+$/){
      //your code
    } else {
      //do nothing
    }

});
于 2012-03-05T12:39:04.397 に答える
1

入力をキャッチし、数値以外の入力を拒否するkeydown,keypressまたはイベントを探しています。keyup

これら 3 つのオプションのうち、整数入力の場合、keypressイベントは非常に適しています。

$('input#selector').keypress(function(event) {
    if (e.which < 48 || e.which > 57) { // or:
  //if (!/\d/.test(String.fromCharCode(e.which))) {
        event.preventDefault();
    }
});

blurただし、 /も使用changeして、コピー/貼り付け/ドラッグからの入力を処理する必要があります。

于 2012-03-05T12:34:00.707 に答える
1
$( '#input-id' ).keyup(function(e)
    {
        if (e.keyCode >= 48 && e.keyCode <= 57 )
        {
            doThis();
        }
    });
于 2012-03-05T12:36:51.517 に答える
0

良い記事はこちら..http://javascript.mfields.org/2011/creating-custom-events-with-jquery/ですが、必要だとは思いません.Robが提案したように、keydown、keypress、またはkeyupを使用できます。

于 2012-03-05T12:37:09.520 に答える
0

私はこれがあなたを助けると思う..

英数字のデモ

于 2012-03-05T12:37:05.957 に答える