js中捕获全局回车事件

 js中捕获全局回车事件

 document.onkeydown = keydown;
        function keydown(e) 
        {
           var currKey=0,e=e||event; 
           currKey=e.keyCode||e.which||e.charCode;//支持IE、FF 
           if (currKey == 13){
                if(event){
                    e.returnValue = false; 
                }else{                    
                    e.preventDefault();
                }          
                document.getElementById("<%=btnRegister.ClientID %>").click();
           }
	   if(currKey==27){ // 按 Esc 
                //要做的事情
          }
          if(currKey==113){ // 按 F2 
                 //要做的事情
           }            
        }



jquery 回车事件


全局:


$(function(){
	   document.onkeydown = function(e){ 
	    var ev = document.all ? window.event : e;
	    if(ev.keyCode==13) {


		   $('#FormId).submit();//处理事件


	     }
	 }
	});  






某个控件:
$('#id').keydown(function(e){
	  if(e.keyCode==13){
	    $('#FormId).submit(); //处理事件
	  }
	});




      if (window.event.keyCode==13) window.event.keyCode=0   //这样就取消回车键了


      如果想模拟Tab键,只要写成  if (window.event.keyCode==13) window.event.keyCode=9    
    就行了,它会跳到另一个元素上。





### C# 中 TextBox 控件的回车事件处理方式 在 C# 的 Windows Forms 应用程序中,可以通过多种方式为 `TextBox` 控件绑定回车事件并执行相应操作。以下是几种常见且有效的实现方法: --- #### 方法一:使用 `KeyUp` 或 `KeyDown` 事件 这是最常见的做法之一,通过监听键盘按键释放或按下事件捕获用户的输入行为。 ```csharp public partial class MainForm : Form { public MainForm() { InitializeComponent(); // 绑定 KeyUp 事件 textBox1.KeyUp += new KeyEventHandler(TextBox1_KeyUp); } private void TextBox1_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) // 判断是否按下了 Enter 键 { MessageBox.Show("您在 TextBox 中按下了回车键!", "提示"); e.Handled = true; // 防止系统继续处理该按键 } } } ``` 这种方法的优点在于可以直接访问 `KeyEventArgs` 对象中的属性(如 `KeyCode`),从而精确控制何时触发特定逻辑[^1]。 --- #### 方法二:利用 JavaScript 实现 Web 环境下的回车事件 如果是在 ASP.NET 页面中,则可以采用客户端脚本技术完成类似功能。例如,在页面加载期间动态添加 HTML 属性以响应键盘交互。 ```csharp protected void Page_Load(object sender, EventArgs e) { // 将自定义 JavaScript 函数附加到指定控件上 TextBox1.Attributes.Add("onkeydown", "if(event.keyCode==13){document.getElementById('" + Button1.ClientID + "').click(); return false;}"); } ``` 上述代码片段展示了如何让某个文本框内的回车动作模拟点击关联按钮的效果。注意这里需确保目标 ID 正确解析以便顺利调用服务器端方法[^3]。 --- #### 方法三:结合 TextChanged 和 Keypress 事件过滤非法字符 除了单纯捕捉回车外,有时还需要清理用户输入数据或者阻止某些特殊符号录入。此时可联合运用多个事件处理器达成目的。 ```csharp private void Tb_QRCode_TextChanged(object sender, EventArgs e) { string cleanedText = ((TextBox)sender).Text.Replace("\r\n", "").Trim(); ((TextBox)sender).Text = cleanedText; } private void Tb_QRCode_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') // ASCII 值对应于 carriage return (\r) { ProcessInput(((TextBox)sender).Text); // 调用业务逻辑函数 e.Handled = true; // 取消默认行为 } } ``` 此处不仅实现了基本的功能扩展,还兼顾了用户体验层面的因素——即即时反馈错误信息或将多余空白移除[^2]^。 --- #### 注意事项 - 当前讨论主要围绕 WinForms 平台展开;如果是其他框架比如 WPF ,则需要考虑命令绑定(Command Binding)机制。 - 若存在多级嵌套容器结构时,请务必确认焦点管理策略以免遗漏潜在冲突情况发生。 - 在设计界面布局阶段就应该充分考虑到快捷键分配原则,避免无意间覆盖重要全局热键组合。 --- ### 结论 综上所述,针对不同场景可以选择最适合自己的方案去解决实际问题。无论选用哪种途径都应遵循良好的编码习惯以及最佳实践指南,力求构建既高效又易于维护的应用系统。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值