我一直在使用remodal进行确认和通知弹出窗口。我没有这样做是允许输入密钥提交。我尝试寻找解决方案,但网络上似乎没有解决方案,并且开发人员似乎在解决输入键问题之前放弃了他的工作。
我尝试使用 javascript switch-case 代码,但同样,如果用户决定在按下回车键之前单击响应内容,这会产生更改焦点的问题,此外,这种方法非常耗时。
我转过这3条线索:
线索1:打开remodal窗口时data-remodal-id
,div的属性成为窗口位置。示例 = ../mypage.php#myremodal
线索 2:确认按钮具有以下属性:data-remodal-action="confirm"
线索 3:Remodal 窗口放在页面 z-index 的前面。
我正在尝试找到一种方法来简单地模拟.click()
当前打开的 remodal 的确认按钮。正如我所说,我switch(from){}
在打开的 remodal 部分尝试并分配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>