input に数値が入力されるたびにトリガーされるカスタム イベントを作成したいと考えていますtype="text"
。アルファベットは無視してください。イベントはうまく機能しませんでしたchange
。blur
助言がありますか?ありがとう。
input に数値が入力されるたびにトリガーされるカスタム イベントを作成したいと考えていますtype="text"
。アルファベットは無視してください。イベントはうまく機能しませんでしたchange
。blur
助言がありますか?ありがとう。
カスタム イベントを簡単に作成できます。
// handle event
$('#mydiv').on('customevent', function(e) { });
// trigger event
$('#mydiv').trigger('customevent');
change
またはイベントを引き続き使用できるblur
場合がありますが、入力がイベントをトリガーするものであるかどうかを検出する追加のロジックを挿入します。
$(".field").on("change blur keydown keyup", function(){
if($(this).val().match(/^\d+$/){
//your code
} else {
//do nothing
}
});
入力をキャッチし、数値以外の入力を拒否する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
して、コピー/貼り付け/ドラッグからの入力を処理する必要があります。
$( '#input-id' ).keyup(function(e)
{
if (e.keyCode >= 48 && e.keyCode <= 57 )
{
doThis();
}
});
良い記事はこちら..http://javascript.mfields.org/2011/creating-custom-events-with-jquery/ですが、必要だとは思いません.Robが提案したように、keydown、keypress、またはkeyupを使用できます。
私はこれがあなたを助けると思う..