我想要一个按钮在单击时提交表单或在焦点上按下回车键,但是在我想使用jquery-confirm向用户显示一些信息的确认警报之前,当他接受模态时,目标表单必须提交。
出于某种原因,当我确认第一次没问题时,但是当我第二次做时,看起来 $.confirm 正在堆叠,然后显示两次,确认我是否再次单击后显示 3 次......这是为什么发生?
我正在使用数据属性来选择元素加表单目标,我的代码有一个小提琴:
https://jsfiddle.net/z3mn21dz/7/
注意:我不想到处走走,我知道有很多可能的选择,但我想知道哪里出了问题。
HTML
<button data-role="confirm" data-target="target">
Submit
</button>
<h1>Form to submit</h1>
<form action="" id="target"><input type="text"></form>
JS/jQuery
$(document).ready(function($){
$('[data-role="confirm"]').on('keyup click', function (e) {
e.preventDefault();
var target = $(this).data('target');
if(e.keyCode == 13 || e.type == "click")
{
$(this).confirm({
title: 'Confirm!',
content: 'Simple confirm!',
buttons: {
confirm: function () {
$.alert('Confirmed!');
},
cancel: function () {
$.alert('Canceled!');
},
somethingElse: {
text: 'Something else',
btnClass: 'btn-blue',
keys: ['enter', 'shift'],
action: function(){
$.alert('Something else?');
}
}
}
});
}
})
});