对话框运行1秒后消失?
用户离开页面时,我正在运行一个对话框。唯一的事情是它运行1秒并消失?我知道它与此有关bind('beforeunload')
,但对话框的死亡时间比你能读到的要快。
我如何阻止这种情况发生?
$(document).ready(function() { // Append dialog pop-up modem to body of page $('body').append("<div id='confirmDialog' title='Confirm'><p><span class='ui-icon ui-icon-alert' style='float:left; margin:0 7px 20px 0;'></span>Are you sure you want to leave " + brandName + "? <br /> Your order will not be saved.</p></div>"); // Create Dialog box $('#confirmDialog').dialog({ autoOpen: false, modal: true, overlay: { backgroundColor: '#000', opacity: 0.5 }, buttons: { 'I am sure': function() { var href = $(this).dialog('option', 'href', this.href); window.location.href = href; }, 'Complete my order': function() { $(this).dialog('close'); } } }); // Bind event to Before user leaves page with function parameter e $(window).bind('beforeunload', function(e) { // Mozilla takes the var e = $('#confirmDialog').dialog('open').dialog('option', 'href', this.href); // For IE and Firefox prior to version 4 if (e){ $('#confirmDialog').dialog('open').dialog('option', 'href', this.href); } // For Safari e.$('#confirmDialog').dialog('open').dialog('option', 'href', this.href); }); // unbind function if user clicks a link $('a').click(function(event) { $(window).unbind(); //event.preventDefault(); //$('#confirmDialog').dialog('option', 'href', this.href).dialog('open'); }); // unbind function if user submits a form $('form').submit(function() { $(window).unbind(); });});
人到中年有点甜
相关分类