2017-04-07 63 views
0

我有一個取消按鈕,無法正常工作。取消按鈕不能正確使用jQuery加載事件

當我點擊它時,它取消,但後來重新加載頁面。

我以爲加入「preventDefault」會解決,但它沒有。

下面是一些背景:

在我的頁面調用playerData.aspx,它顯示的字符統計在此元素:

<div id="mainGameText">

即數據經由該頁面加載「characterGeneratorDisplay.aspx

我的jQuery代碼在「playerData.aspx」,其控制是應該做的字符顯示/編輯區中的塊以下內容:

  • 頁面加載時,它顯示的字符數據。

  • 當用戶單擊此區域()時,編輯器將加載。

這裏是的jQuery該塊:

<script> 

    $(document).ready(function() { 
     //initial load character read-only 
     $("#mainGameText").load("../character/characterGeneratorDisplay.aspx?charID=<%= Session("currentCharID") %>"); 

     //load character editor on div click 
     $("#mainGameText").click(function (e) { 
      e.preventDefault(); 
      $("#ajaxNodeText").load('../character/characterGeneratorEdit.aspx?charID=<%= Session("currentCharID") %>'); 
     }); 
     return false; 
    }); 

</script> 

上述腳本工作。它加載所需的數據,並在單擊該區域時加載編輯器。

characterGeneratorEdit.aspx頁,我有一個 「保存」 和 「取消」 按鈕。

保存」按鈕是一個.NET控件,因爲它在保存角色時會執行一些後端的.NET和數據庫內容。

而且closeWindow()函數重載只讀頁:

功能closeEditor(){

 $("#mainGameText").load("../character/characterGeneratorDisplay.aspx?charID=<%= Session("currentCharID") %>"); 

}

的問題是,當我點擊取消時,它確實加載了「ch aracterGeneratorDisplay.aspx「,但是隨後它重新加載字符編輯器(characterGeneratorEdit.aspx)。

我想添加「e。preventDefault()方法「將解決這個問題,但它沒有。

我怎樣才能取消按鈕,只是關閉」 characterGeneratorEdit.aspx「和重裝」的元素characterGeneratorDisplay.aspx「 ?

謝謝!

回答

1

嘗試event.stopPropagation

另外,確保你的 「取消」 按鈕沒有 「提交」 型或者在您的onClick處理程序中返回false。

+0

我試過把e.stopPropagation();首先在我的closeEditor()函數中,但沒有奏效。然後我嘗試在onclick事件中將其置於e.preventDefault()的位置,但這並不起作用。 – SkyeBoniwell