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 に答える