2016-04-27 3 views
1

に発生しません。その後、キーを押すたびにトリガされます。 誰でも何ができるか考えていますか?は、私はこの方法を持っている最初のキーを押して

ありがとうございました。

その後編集: それは私が関数を使用する方法に関連するかもしれませんか? HTMLで

:JSでonkeyup = "caseValuePercentageTwoDecimalRestriction()"

function caseValuePercentageTwoDecimalRestriction() { 
    $(".caseValuePrecentageRestriction").on("keypress", function (event) { 
     ... 

+0

が ''からkeyup使用し、私が使用する必要が – guradio

+0

を試してみてください "event.preventDefaultを();"?入力キーが私が望むものでない場合...私はkeyupを使用することはできません。 –

+0

jsfiddleで問題を再現できますか? –

答えて

1

で使用event.preventDefault()をasloすることができます。

keyupは、キーを押したときにkeypressが呼び出されている間にキーを離すと呼び出されます。

あなたはこのようなdocument.readyイベントにあなたkeypressイベントハンドラをバインドする必要があります。

$(document).ready(function() { 
    $(".caseValuePrecentageRestriction").on("keypress", function (event) { 
     // do whatever you need 
    }); 
}); 
0

ユースからkeyupの代わりに、キーを押して - 試してみてください:入力の場合

$(".txtB").keyup(function (event) { 
    console.log($(this).val()); 
}); 
+0

その理由は何ですか? –

+0

私は確認の前に私のテキストボックスにキーを持っていません、私はキーアップを使用することはできません。 –

0

は、マウスからコピーするのと同様に、キーボードでテキストの変化に働く1つの以上の特性input propertychangeがあるフィールド。試してみてください

$(".txtB").on("input propertychange", function(event) { 
    console.log($(this).val()); 
    if (...) 
     event.preventDefault(); 
}); 
+0

私は同じ動作をしていますが、最初のキーを押すとその機能は起動しません。ありがとう。可能であれば –

+0

を共有してください。 –

0

多分.keydownがうまくいくでしょうか?

0

ここに私達は行く:

あなたのコードは次のようになる必要があります:

$("input").keypress(function(){ 
    $("span").text(i += 1); 
    alert("Test key pres"); 
}); 

<input type="text"> 

<p>Keypresses: <span>0</span></p> 

はそれがお役に立てば幸いです。)

1
$(".txtB").keyup(function (event) { 
    console.log($(this).val()); 
}); 

あなたの質問に答えるために、キー押下イベントは、入力の前に起こります変化する。しかし、キーアップは変更後に発生します。それが唯一の違いです。ここで

$(document).ready(function(){ 
    $(".txtB").on("keypress", function (event) { 
    console.log($(this).val() + event.key); 
    }); 
}); 

キー押下イベント共有の値の前にトリガされた他のユーザーとしてjsbin

です:

0

これがあなたのために動作しますが、これは完璧なソリューションではありませんが、それは周りだけで仕事がありますテキストボックスが変更されました。テキストボックスの値を更新したい場合は、他のイベントを使用する必要があります。新しい文字が入力に追加される前に

$(".txtB").change(function(event){ 
    console.log($(this).val()); 
}); 
0

ではなく、キー入力やkeyUpイベントの変更を使用するようにしてください。

したがって、最初の文字が追加される前に最初のkeypress eventが実行されますが、入力はまだ空です。

これをチェックすると、値が入力される前でも警告ボックスが表示されます。例えば

あなたがaを入力すると、最初に、あなたはその時点であなたはそれがあなたがkeyupまたは​​のいずれかを使用する必要がa

を警告されて表示され、その後、別の文字を入力し、空の警告ボックスが表示されます。あなたは、エラーがkeypressイベントの後に解雇されkeyupイベントにcaseValuePercentageTwoDecimalRestriction呼びかけているkeyup &​​

0

keypressイベントが発射されています。それは最初に呼び出すため

関連する問題