2012-11-26 77 views
2

我有以下的jquery代碼,可以在我的.aspx頁面中使用FF或Chrome進行很好的工作。但是,在IE9中,當我點擊應該打開對話框的按鈕時,它似乎刷新了整個頁面,沒有任何反應。jQuery對話框用戶界面不能在IE中工作

我使用這些版本:

<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" /> 
    <script type="text/javascript" src="http://code.jquery.com/jquery.js"></script> 
    <script type="text/javascript" src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script> 

這裏是我的jQuery:

$(function() { 
    $("#btnSearch").click(function() { 
     $("#gvBox").show(); 
    }); 
    $("#dialog-form").dialog({ 
     autoOpen: false, 
     height: 400, 
     width: 650, 
     modal: true, 
     buttons: { 
      "Transfer": function() { 
       var bValid = true; 
       allFields.removeClass("ui-state-error"); 
       if (bValid) { 
        $(this).dialog("close"); 
       } 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     }, 
     close: function() { 
      allFields.val("").removeClass("ui-state-error"); 
     }, 
     open: function() { 
      { 
       $(this).parent().appendTo($("form:first")); 
      } 
     } 
    }); 
    $("#btnTransfer").button().click(function() { 
     $("#dialog-form").dialog("open"); 
     return false; 
    }); 
    return false; 
}); 

這裏是我的按鈕,在打開的對話框:

<button id="btnTransfer">Transfer Ownership</button>&nbsp; 

是否有任何招數與IE一起使用的技巧?

+3

可能不會解決您的問題..但你爲什麼有雙括號這裏'開:函數(){{' –

+0

有點 - 好抓,我刪除了額外的括號,但它仍然無法正常工作。 MBJ - 缺少什麼事件處理程序? – SkyeBoniwell

回答

2

試試這個:

$("#btnTransfer").button().on('click', function (e) { 
    e.preventDefault(); 
    $("#dialog-form").dialog("open"); 
}); 

...而不是return false;

+0

嗯...我認爲這是一個開始。它在FF中仍然正常工作,但在IE中不起作用...但是IE中的頁面不再刷新......這是很好的,因爲點擊該按鈕時它不應該刷新。 – SkyeBoniwell

+1

嘗試在最後一次「})」關閉之前刪除最後一個'return false;'。 – honyovk

+0

我相信這個伎倆!謝謝! – SkyeBoniwell

相關問題