type="text"
に数値を入力するたびにトリガーされるカスタムイベントを作成したいとします。アルファベットは無視する必要があります。 change
とblur
イベントがうまくいかなかったjqueryでカスタムイベントを作成する方法
提案がありますか?ありがとう。
type="text"
に数値を入力するたびにトリガーされるカスタムイベントを作成したいとします。アルファベットは無視する必要があります。 change
とblur
イベントがうまくいかなかったjqueryでカスタムイベントを作成する方法
提案がありますか?ありがとう。
あなたはまだあなたの入力は、あなたがしてイベントをトリガしたいと思います何かであるかどうかを検出するためにchange
またはblur
イベントを使用しますが、いくつかの追加のロジックを挿入することができるかもしれない、そう
$(".field").on("change blur keydown keyup", function(){
if($(this).val().match(/^\d+$/){
//your code
} else {
//do nothing
}
});
,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();
}
});
私は、これはあなたを助けると思います。..
良いarticalはhere..httpです://javascript.mfields.org/2011/creating-custom-events-with- jquery/ しかし、私はそれが必要と思うことはできません。あなたは、keydown、keypressまたはkeyupをRobとして提案するように使うことができます。
あなたは簡単にできますカスタムイベントを作成してください:
// handle event
$('#mydiv').on('customevent', function(e) { });
// trigger event
$('#mydiv').trigger('customevent');
.keyup()または.keypress()を試してみましたか? –