キー押下時にテキストボックスの変更イベントをキャンセルしたい場合、ボタンクリック時にトリガしたいと思います。 これは私のHTMLOnキー押下変更イベントのテキストボックスとボタンクリックトリガ変更イベントのテキストボックスjquery
$('#btn1').on('click', function() {
var target = '#test';
$(target).on("change");
$(target).focus();
$(target).val('HELLO').trigger('change');
});
$("#test").change(function(event) {
alert($(this).val())
});
$('#test').on('keypress', function(event) {
if (event.keyCode === 13) {
event.stopImmediatePropagation();
$(this).off("change");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="test" />
<input type="submit" id="btn1" value="BUTTON1" />
の一例であるが、それは変更イベントを発射されていません。
お願いします。事前におねがいします。
event.stopImmediatePropagation()を削除します。ちょうどフィドルを更新し、働いていた。 –
いいえ、発射の変更イベントはできません。フィドルリンクを共有してください。 –
そうではありません。このシナリオを試してみてください:最初にボタンをクリックして、-alert- then、sometypeをクリックします。あなたは良いようです。しかし、ボタンをクリックして、アラートを表示しないでください。私は問題がここにあると思う。 @AnupYadav –