如何判断是否取消了jquery叠加层

时间:2011-10-25 21:05:39

标签: jquery jquery-tools

我正在使用jQuery Tools叠加层向用户显示一个对话框。如果用户点击关闭按钮,我需要触发一个记录该事实的事件。我写的代码可以在Chrome和IE中使用,但在Mac和Windows上都无法使用Firefox。

(onClose属性是我用来初始化叠加层的对象的一部分)

  onClose: function(e) {
      if ($(e.srcElement).hasClass('close') || $(e.srcElement).hasClass('cancelButton')) {
            var trigger = this.getTrigger();
            var thisOverlay = this;
            $(document).trigger('overlayCancelled', [trigger, thisOverlay]);
  }

在Firefox中,e.srcElement未定义。 e.originalTarget也是如此。有谁知道这个问题的解决方法?

谢谢, 罗布

1 个答案:

答案 0 :(得分:1)

在FF中,e.originalEvent.originalTarget具有用于关闭叠加层的元素的句柄。我使用了e.srcElement || e.originalEvent.originalTarget。

谢谢, 罗布