2012-08-31 284 views
0

我只是想在某些用戶按下文本框中的TAB鍵時「捕捉」。我在一個簡單的CRUD asp.net應用程序中工作,c#作爲後面的代碼。如何按TAB鍵時觸發事件?

我嘗試這樣做的一個試驗:

private void KeyForm_KeyDown(object sender, KeyEventArgs e) 
     { 
     keyInfoLabel.Text = 
      "KeyCode: " + e.KeyCode + '\n' + 
      "KeyData: " + e.KeyData + '\n' + 
      "KeyValue: " + e.KeyValue; 
     } 

,但它只是用C#桌面應用程序的工作原理。

+0

你問在Javascript中如何做到這一點? –

+0

ASP.NET將不會按照您描述的方式響應keydown。你已經將問題標記爲asp.net,但它可能是一個WinForms或Javascript問題?你當然可以在這些環境中做到這一點。 –

+0

如果是asp.net,顯然你不想在服務器端捕獲它。你應該使用JavaScript。檢查參考在[MDN](https://developer.mozilla.org/en-US/docs/DOM/window.onkeydown) – MilkyWayJoe

回答

0
$(document).ready(function() { 
    $('#<%= testTextBox.ClientID%>').keydown(function (e) { 
     var code = (e.keyCode ? e.keyCode : e.which); 
      if (code == 9) { 
      $('#<%= 2ndTextBox.ClientID%>').focus() 
       return false; 
      } 
    }); 
}); 

它可以是對某人有用。

問候

0
$('#textbox').live('keydown', function(e) { 
    var keyCode = e.keyCode || e.which; 

    if (keyCode == 9) { 
    e.preventDefault(); 
    // call custom function here 
    } 
}); 

使用Java腳本

+1

僅供參考。從jQuery 1.7開始,.live()方法已棄用。使用.on()附加事件處理程序。 –

1

TAB鍵無法通過按鍵或的KeyDown逮住。所以要達到您的要求,請使用TextBox的離開事件。

在離開事件定義將焦點移回到文本框...

這樣的...

private void textBox1_Leave(object sender, EventArgs e) {
textBox1.Text="Khan Pressed the TAB"; textBox1.Focus(); }

相關問題