js 回车调用后台事件
最近在项目开发做了一个小功能,回车调用后台事件,现在拿出来跟大家分享一下:
前台代码:
<script type="text/javascript">
//为TextBox指定回车时执行的Button按钮事件
function enterPressExecuteButtonAction(textBoxID, buttonID) {
if (event.keyCode == 13) {
//获取按钮事件
var func = document.getElementById(buttonID).click;
document.getElementById(buttonID).focus();
func();//调用事件
event.returnValue = false;
}
}
//为TextBox屏蔽回车事件
function EnterEventsAction() {
if (event.keyCode == 13) {
event.keyCode = 0;
event.returnValue = false;
}
}
</script>
<asp:TextBox ID="TextBox1" runat="server" onload="TextBox1_Load" ></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
后台代码:
//按钮事件
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("ni hao 123");
}
//加载事件
protected void TextBox1_Load(object sender, EventArgs e)
{//调用了TextBox扩展方法
TextBox1.RegisterPressEnterAction(this.Button1,ButtonType.Button);
}
还有一个TextBox扩展方法类
public static class TextBoxExtension
{
/// <summary>
/// 为TextBox指定回车时执行的按钮事件
/// </summary>
public static void RegisterPressEnterAction(this TextBox textBox, WebControl button, ButtonType buttonType)
{
switch (buttonType)
{
case ButtonType.Button:
textBox.Attributes.Add("onkeypress", String.Format("enterPressExecuteButtonAction(this.id,'{0}');", button.ClientID));
break;
case ButtonType.Image:
break;
case ButtonType.Link:
textBox.Attributes.Add("onkeypress", String.Format("enterPressExecuteLinkButtonAction(this.id,'{0}');", button.ClientID));
break;
default:
break;
}
textBox.Attributes.Add("onfocus", "javascript:this.select();");
}
public static void RegisterPressEnterAction(this TextBox textBox, string button, string buttonType)
{
switch (buttonType)
{
case "Button":
textBox.Attributes.Add("onkeypress", String.Format("enterPressExecuteButtonAction(this.id,'{0}');", button));
break;
case "Image":
break;
case "Link":
textBox.Attributes.Add("onkeypress", String.Format("enterPressExecuteLinkButtonAction(this.id,'{0}');", button));
break;
default:
break;
}
textBox.Attributes.Add("onfocus", "javascript:this.select();");
}
/// <summary>
/// 为TextBox指定回车时执行的按钮事件
/// </summary>
public static void RegisterPressEnterAction(this TextBox textBox)
{
textBox.Attributes.Add("onkeypress", "EnterEventsAction();");
textBox.Attributes.Add("onfocus", "javascript:this.select();");
}
}
联盟快卖 商人,生意人,待创业人士在此可以共赢互利 期待你的加入 群号:140809277
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗