使用布尔值单击,然后使用IF语句检查布尔来运行其他代码



我有一个点击函数,当单击时,我希望其他按钮知道它已被单击,然后按照自己的单击。

以下是我尝试的目前,但似乎不起作用。如果我在主文档的内部包含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。我希望其他按钮知道它是真的,然后当用户单击该按钮时,它将运行该代码。

它非常简单而不是 -

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语句,单击事件从未分配,当我放置

if(optionalextraclick == true(

在事件中的语句,将创建事件,并且代码将起作用,这两个事件都会做到这一点,希望有道理,让我知道是否不清楚。

除此之外 - 我真的建议您查看ReactJ/Angular Framework,这些元素为您抽象而使Web开发变得更加简单和有趣。

相关内容

最新更新