変更イベントを発生させたイベントをchangeイベント関数に渡す方法はありますか?私は基本的にラジオボタンをプログラムでクリックするメソッドを持っています。これはchange関数を呼び出すので、元のクリックが人間によって行われたのか、プログラムによって完了したのかを知る必要があります。jqueryで変更イベントが発生したイベントを取得する
// This will trigger a change event on both input names menu1 and menu2.
$("#menu1").on("click", function() {
$("#menu2A").click();
});
$("input [name='menu1'], input [name='menu2']").on("change", function(e) {
var inputName = $($(e)[0].target).attr("name");
if (inputName === "menu2") {
// This is where I want to check that the click event was initiated by a human.
}
});
私は、クリックイベントをチェックするためにe.preventDefault()
を呼び出しますが、それは動作しませんでした$("input[name='menu2'].on("click", function...)
を作成してみました。それはクリック機能を打つ前に変更機能に当たった。これは、私がchangeイベント関数内でクリックイベントをチェックする必要があると思った理由です。
(その後0にeventstoreを設定することを忘れないでください)をテスト? –
トリガされたイベント名と要素イベントが同じ場合は簡単です。あなたが達成しようとしていることは本当に明確ではありません。 [mcve] – charlietfl
にイベントオブジェクト(あなたの場合は 'e')を入れてjqueryオブジェクトに入れることはできません。多分あなたは '$(e.target)[0]' – Sysix