2013-04-16 56 views
2

我的asp.net控件看起來像這樣;當輸入鍵按下時,防止默認不工作

<asp:Button ID="btnLogOut" runat="server" Text="Exit" ClientIDMode="Static" OnClick="btnLogOut_Click" /> 

and js event;

$("#btnLogOut").keyup(function (event) { 
    if (event.which == 13 || event.keyCode == 13) { 
     alert(event.keyCode); 
     $("#btnLogOut").preventDefault(); 
     return false; 
    } 
    else return true; 
}); 

在頁面上,當我按下回車鍵時,它會觸發btnLogOut按鈕。爲了防止這種情況,我在上面寫了js事件 。警報說,keyCode是13,但它不能防止點擊功能,我註銷。

我該如何解決這個問題?這特別發生在IE

編輯:event.preventDefault也無法正常工作。

+0

我認爲你需要做的'event.preventDefault();' –

回答

6

preventDefault()是事件對象(event)的方法,所以你需要調用它在那:event.preventDefault()

但是,在keyup事件中,密鑰已被處理,因此沒有任何阻止該事件的要點。改爲使用​​。

+0

0.1去。 + 1 – Jashwant

+1

keydown不工作也哥們。 –

+0

它與keydown一起工作,因爲keyup在我的情況下不起作用,除非我必須將按鈕類型更改爲按鈕,而不是提交 – Praditha

2

您應該使用event.preventDefault();而不是在對象本身上調用preventDefault()

3

您無法取消在keyup fase,您可以在​​。

並使用event.preventDefault();

1

呦需要使用event.preventDefault()

2

preventDefault用於與事件對象

$("#btnLogOut").keyup(function (event) { 
    if (event.which === 13 || event.keyCode === 13) { 
     alert(event.keyCode); 
     event.preventDefault(); 
     return false; 
    } 
    else return true; 
}); 
1

嘗試改變$("#btnLogOut").preventDefault();event.preventDefault();