在删除按钮上单击我想显示确认对话框并使用此简单plugin。按钮标记看起来像
<button type="button" class="btn contactDeleteRow" />
我的JS看起来像
$(document).on('click', '.contactDeleteRow', function() {
$('.contactDeleteRow').easyconfirm();
$("#alert").click(function() {
// Actions to perform
});
});
我第一次点击按钮时没有出现确认对话框,但是在所有点击后都可以正常工作。任何想法为什么它不会在第一次点击工作?以及如何解决它
答案 0 :(得分:2)
您需要在点击前注册插件,只需一次。
您在代码中执行的操作是在点击后注册
$('.contactDeleteRow').easyconfirm(); // register before click
$(document).on('click', '.contactDeleteRow', function() {
// do something here
});
// dont register inside a click
$("#alert").click(function() {
// Actions to perform
});
这是一个完整的Html示例(将jquery.easy-confirm-dialog.js
放在与html文件相同的目录中):
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/blitzer/jquery-ui.css" type="text/css" />
<script src="jquery.easy-confirm-dialog.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('.contactDeleteRow').easyconfirm({ locale: { title: 'This is my title', button: ['No', 'Yes'] } });
$(document).on('click', '.contactDeleteRow', function () {
alert('you clicked me');
});
})
</script>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<a href="#" class="contactDeleteRow">
Click me
</a>
</body>
</html>
答案 1 :(得分:0)
您在代码末尾缺少一些括号:
$(document).on('click', '.contactDeleteRow', function () {
$('.contactDeleteRow').easyconfirm();
$("#alert").click(function () {
// Actions to perform
}); // <-- Missing brackets here...