確認と通知のポップアップにはremodalを使用しています。私がそうしなければ、キーを入力することができます。私は解決策を探そうとしましたが、Web上に何もないようで、開発者はenter key issueが解決される前に彼の仕事を放棄したようです。Enterキーで確認する方法 - Remodal
javascript switch-caseコードを使用しようとしましたが、ユーザーがEnterキーを押す前に何かをクリックするとフォーカスが変わるという問題が発生します。また、このメソッドは非常に時間がかかることがわかります。
私は、これらの3つの手がかりを好転:
手掛かり1:remodalウィンドウが開かれると、DIVのdata-remodal-id
属性は、ウィンドウの位置となります。例= ../mypage.php#myremodal
手がかり2:data-remodal-action="confirm"
手掛かり3:確認ボタンは、この属性を持つRemodalウィンドウがページのzインデックスの前に置かれています。
現在開かれているリモダールの確認ボタンで.click()
をシミュレートする方法を探しています。私が言ったように、私はswitch(from){}
を開いて改装セクションに入れて、どちらのモーダルが確認されたかを選択するためにfrom = $(e.currentTarget).attr("data-remodal-id");
を割り当てましたが、これは構造のために他の問題を生み出し、
これはremodalアクションがスクリプトで制御されている方法です。
$(document).on('opening', '.remodal', function() {
console.log('Modal is opening');
});
$(document).on('opened', '.remodal', function() {
//**************************************************
//THIS IS WHERE I WANT TO PUT ENTER KEY CONFIRMATION
//**************************************************
console.log('Modal is opened');
});
$(document).on('closing', '.remodal', function(e) {
// Reason: 'confirmation', 'cancellation'
console.log('Modal is closing' + (e.reason ? ', reason: ' + e.reason : ''));
});
$(document).on('closed', '.remodal', function(e) {
// Reason: 'confirmation', 'cancellation'
console.log('Modal is closed' + (e.reason ? ', reason: ' + e.reason : ''));
});
$(document).on('confirmation', '.remodal', function() {
console.log('Confirmation button is clicked');
from = window.location.hash.substr(1)
switch (from){
case "1":
//*********************
// MY JSON ACTIONS HERE
//*********************
break;
case "2":
//*********************
// MY JSON ACTIONS HERE
//*********************
break;
}
});
$(document).on('cancellation', '.remodal', function() {
console.log('Cancel button is clicked');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/remodal/1.1.1/remodal.min.js"></script>
<div class="remodal" data-remodal-id="myremodal">
<button data-remodal-action="close" class="remodal-close"></button>
<p>
some text
</p>
<br>
<button data-remodal-action="cancel" class="remodal-cancel">Cancel</button>
<button data-remodal-action="confirm" class="remodal-confirm">OK</button>
</div>
<a data-remodal-target="myremodal">call the modal</a>
これはすべてが '$( "ボタン[データ-remodal-アクションは= '確認']").click()まで正常に動作し、答えなければならない;'一部。私は 'console.log()'でチェックしました。このアクションは私を他の既存のリモデリングにリダイレクトし、間違ったモーダルを確認します。ボタンをクリックすると完全に正常に動作します。私は結果を更新します。 – Ahmet
私のコードを更新し、確認を追加しました。 – Ahmet
'from = $(e.currentTarget).attr(" data-remodal-id ");を' from = window.location.hash.substr(1) 'に変更しましたが、それと同じですが、改造。 – Ahmet