jqueryが2回トリガする際にkeyup関数がなぜ機能するのですか? 私はあなたが二度、それはその通常のように動作しませんでしリスナーを追加している場合を除きKeyup関数が2回呼び出されています
$("#inputid").keyup(function(e) {
console.log("inputttt calling twice");
var userQuantity =$('#id').val();
});
jqueryが2回トリガする際にkeyup関数がなぜ機能するのですか? 私はあなたが二度、それはその通常のように動作しませんでしリスナーを追加している場合を除きKeyup関数が2回呼び出されています
$("#inputid").keyup(function(e) {
console.log("inputttt calling twice");
var userQuantity =$('#id').val();
});
plsは私を助けてアンバインドを試み、その動作していない 誰でもmethod..butオフにしています。
同じ要素の複数のイベントリスナーを防ぐには、リスナーを削除してから追加してください。もう1つの方法は、イベントリスナーを追加する前にコールバック関数を定義することです。何度も何度も何度もリスナーをエレメントに追加するだけです。以下のようなもの。コールバック
var input = document.getElementById('some');
input.addEventListener("keyup", function(event) {
console.log("PRINT");
})
// input.removeEventListener("keyup", callback)
input.addEventListener("keyup", function(event) {
console.log("PRINT");
})
<input id="some" value="">
予めコールバック機能を提供
var input = document.getElementById('some');
var callback = function(event) {
console.log("PRINT");
}
input.addEventListener("keyup", callback)
// input.removeEventListener("keyup", callback)
input.addEventListener("keyup", callback)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="some" value="" >
匿名関数
OPがjQueryを使用してリスナーを追加しているときにどのように役立ちますか? – charlietfl
@charlietfl質問のタイトルから、似たような人が答えを見つけるのに役立つと思った。これを回答として受け入れるかどうかは、営業担当者の責任です。あなたのコメントはすでに彼女を助けました。 –
確かに。私は質問で – Sudha
を編集します。元の質問を編集し、コメントにコードを追加する必要はありません。編集ボタンはタグのすぐ下にあります –
私はあなたが同じイベントリスナーを2回追加していると思います。あなたは同じスクリプトを2回読み込んでいますか? – charlietfl