我有一个点击功能,当我单击它时,我希望其他按钮知道它已经被单击,然后单击它们即可运行自己的代码。
下面是我目前尝试过的方法,但似乎不起作用。如果我在主document.click中包含if语句,则可以使用它,但是我不希望在另一个单击处理程序中包含单击事件处理程序。
var optionalextraClick = false;
$(document).on('click', '.js-optional-extra', function(e) {
optionalextraClick = true;
$('#' + $(this).data().productid).css("visibility", "hidden");
$('#thank-you-' + $(this).data().productid).fadeIn(1800);
});
if (optionalextraClick == true) {
$('#js-secure-checkout, .modal-close').click(function() {
location.reload();
});
$('#global_modal').click(function(e) {
if (!$(e.target).closest('.modal-dialog').length) {
location.reload();
}
});
}
单击js-optional-extra后。我希望其他按钮知道它是正确的,然后当用户单击该按钮时,它将运行该代码。
答案 0 :(得分:0)
代替它非常简单-
if (optionalextraClick == true) {
$('#js-secure-checkout, .modal-close').click(function() {
location.reload();
});
$('#global_modal').click(function(e) {
if (!$(e.target).closest('.modal-dialog').length) {
location.reload();
}
});
尝试-
$('#js-secure-checkout, .modal-close').click(function() {
if (optionalextraClick == true) {
location.reload();
});
您的问题是,由于使用if语句,因此从未分配click事件, 当我放
if(optionalextraClick == true)
在事件内声明,事件将被创建并且代码将起作用, 对这两个事件都执行此操作,希望这是有道理的,让我知道是否有不清楚的地方。
除此之外-我真的建议您查看ReactJS / Angular框架,该框架为您抽象了那些元素,使Web开发更加简单和有趣。