我有以下代码,仅使用jQuery UI模态对话框来“确认”任何单击链接。如果他们单击“确定”,则将它们发送到原始链接。它可以正常工作,所以不要打扰阅读过多的细节=)

    $('.confirm').live('click', function(e) {
  e.preventDefault();
  var theHref = $(this).attr('href');
  var confirmText = 'Are you sure?';
  if ($(this).attr('confirm')) {
   confirmText = $(this).attr('confirm');
  }
  confirmDialog.html(confirmText);
  confirmDialog.dialog({
   buttons: {
    'OK': function() {
     window.location = theHref;
     $(this).dialog('close');
    },
    Cancel: function() {
     $(this).dialog('close');
     return false;
    }
   }
  });
  confirmDialog.dialog('open');
  return false;
 });

然后,我还有许多其他任意功能。像这样说:

    $('a.reset').live('click', function(e) {
  e.preventDefault();
  $(this).parents('form')[0].reset();
 });

这只是重置表单的链接(例如输入类型=重置)。此功能也可以正常工作。请注意,这只是一个任意示例。我有很多不同的JS功能片段,可以通过课程附加。

我遇到的问题是堆叠这两个问题。在此示例中,我可能想要确认的一些重置链接,有些我可能不会。像这样:

<a href="" class="reset confirm">Reset on confirmation</a>
<a href="" class="reset">Reset without confirmation</a>

当然,问题是第一个示例不在乎确认 - 它只是继续重置。是否有某种方法可以继续将这些代码保持单独和模块化(例如在HTML示例中),同时使一个依赖于另一个的输出?

我希望我要实现的目标很清楚。

事先感谢您的任何帮助。第一次在这里发布,所以要好好=)

有帮助吗?

解决方案

我不知道这是否会起作用,但是请尝试以相反的顺序创建.Live处理程序。我认为它们可能是从最后一个附件触发的。

其他提示

好吧,一种非常简单的方法,请猜测我想实现的目标是检查该元素是否在防止任何默认行为和没有的情况下都附有确认类别。

我认为您可以通过简单地将代码附加到重置类之前的确认类中进行解决。只需将其放在文档中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top