[jQuery]dateMepickerを一度にクリックしてイベントを登録
4148 ワード
📅 問題が発生
動的に割り当てられたinputラベルにdatetimepickerを付与し、クリック時にカレンダーをすぐに表示します.しかし、いつも2回クリックしないとイベントを割り当てることができないので、理由を探しました.
当時のJSコード
$(document).on('click', '.datetimepicker', function() {
$(".datetimepicker input").datetimepicker({
format : "YYYY-MM-DD HH:mm:ss"
});
});
📅 トラブルシューティング
順序に従って、inputタグを最初にクリックしたときのイベント割り当て状況と、2回目のクリック時のイベント割り当て状況.
動的割当ての場合のイベント割当て方法をあちこち探していますが、検索された方法は適用されません.しかし、これは動的に割り当てられたラベルによる問題ではないと思い、探し方を変えました.結果は検索結果は1つのみであった.感激して泣きたい.😂)
jqueryのdatetimepickerはもともと1回クリックするとアクティビティを割り当て,2回クリックするとアクティビティを割り当てる.
ブログで教えてくれた方法でshow関数を使ってみます.( リファレンス )
$(document).on('click', '.datetimepicker', function (event) {
var datetime_ele = $(event.target);
datetime_ele.datetimepicker({
format: "YYYY-MM-DD HH:mm:ss"
}).datetimepicker('show');
});
コードを変更すると、dateMepickerクラスを持つすべてのオブジェクトにshow関数が付与され、結果としてすべてのdateMepickerクラスオブジェクトにclickイベントが適用され、clickイベントが発生するターゲットのみが指定されます.再割り当てされたイベントを表示したら、一度クリックするだけでイベントを割り当て、カレンダーを表示します.
Reference
この問題について([jQuery]dateMepickerを一度にクリックしてイベントを登録), 我々は、より多くの情報をここで見つけました https://velog.io/@rudnf003/jQuery-datetimepicker-한번에-click-이벤트-등록テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol