2009-05-20 105 views
25

如何將點擊事件附加到按鈕並防止回發?jQuery防止回發點擊按鈕

我的代碼似乎沒有工作。

$('#btnNext').click(function() { 
     return false; 
    }); 
+0

看到這個:如何刪除事件處理(http://jquery.open2space.com/node/23)而這:[jquery中刪除事件處理程序的最佳方式?](http://stackoverflow.com/questions/209029/best-way-to-remove-an-event-handler-in- jquery) – 2009-05-20 13:37:52

+0

好問題,但缺乏比較例子。由於今天的Web開發人員使用混合方法,所以提供HTML控件的例子總是不錯的,而不僅僅假設選擇器的類型。 – GoldBishop 2017-02-06 18:29:07

回答

54
$('#btnNext').click(function(e) { 
     e.preventDefault(); 
    }); 
+2

我注意到,這不工作,或由於asp.net呈現。我的按鈕被渲染爲「javascript:__ doPostBack(」。任何關於如何擺脫它的想法? – 2009-05-20 14:20:55

+0

將$('#btnNext')`改爲:$('#<%= btnNext.ClientID% >')`。默認情況下,ASP.Net使用自己的ID命名...所以通過使用ClientID屬性,你可以得到實際的名稱來引用。 – 2014-05-19 14:32:13

16

我用按鈕的工作,並發現,如果你想避免做一個自動回發的按鈕,你需要指定類型爲「按鈕」。例如:

<button id="saveButton">Save</button> 

- 這將產生一個自動回發(在IE測試)

<button type="button" id="saveButton">Save</button> 

- 這不會

希望這可以幫助別人。

0

裏面的按鈕標籤,使用type =「按鈕」,以防止回發。

2

在Asp.net,以防止在單擊按鈕使用的preventDefault網頁提交()函數

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
     <title>WebForm1</title> 
     <script src="js/jquery-2.2.2.js" type="text/javascript"></script> 
     <script> 
      $(document).ready(function() { 
       $("#btnshow").click(function (e) { 
        e.preventDefault(); 
        $("#Label1").show(); 
       }); 
       $("#btnhide").click(function (e) { 
        e.preventDefault(); 
        $("#Label1").hide(); 
       }) 
      }); 
     </script> 
    </head> 
    <body> 
     <form id="form1" runat="server"> 
     <div> 

     </div> 
      <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
      <asp:Button ID="btnshow" runat="server" Text="Show" /> 
      <asp:Button ID="btnhide" runat="server" Text="Hide" /> 
     </form> 


    </body> 
    </html>