0

这不像我期望的那样工作:

$("#generalContactWindow").dialog({
    autoOpen: false,
    draggable: true,
    width: 600, height: 'auto',
    closeOnEscape: true,
    modal: true,
    resizable: false,
    close: function(event, ui) {
        _gaq.push(['_trackEvent', 'DetailsGeneralForm', 'HideForm', document.location.href]); 
        console.log('_trackEvent DetailsGeneralForm HideForm called');
    }
});

_gaq.push(['_trackEvent', 'DetailsGeneralForm', 'HideForm', document.location.href]);如果我单击关闭按钮或按退出键,则该部分将永远不会发生。

关闭链接如下所示:

<a class="ui-dialog-titlebar-close" href="#" unselectable="on" style="-moz-user-select: none;"><span unselectable="on" style="-moz-user-select: none;">X</span></a>

我认为这是标准。

这一切的原因是我需要跟踪对话框的打开和关闭。我可以很好地追踪开场,但不是结束。我应该怎么办?

提前致谢!

4

1 回答 1

1

您需要为关闭按钮设置点击事件

jsfiddle 示例

使用 jQuery.on()委托,这将使您的关闭按钮调用 jquery UI 对话框close事件

$("#generalContactWindow").on('click', '.ui-dialog-titlebar-close', function() {
    $("#generalContactWindow").dialog('close');
});​
于 2012-12-13T18:56:44.387 回答