我正在尝试将OnKeyPress事件用于ASP.NET ListBox,它将自身呈现为HTML中的SELECT元素。在做了一些搜索之后,一些网站似乎暗示它受支持,但事件似乎没有触发并调用我的JavaScript代码。它似乎触发了同一页面上的另一个编辑框,但没有为SELECT元素执行此操作。
我想使用OnKeyPress事件,因此我可以检索ascii代码,而OnKeyDown和OnKeyUp则返回密钥代码。
我目前正在使用IE7,我想知道SELECT元素是否支持OnKeyPress事件?
以下是我在aspx文件中的操作方法:
<asp:ListBox ID="myListBox" runat="server" Width="306px" SelectionMode="Single"
Rows="15" CssClass="myListBoxStyle" DataSourceID="myDataSource"
onchange="myListBoxOnChange(this)"
onkeypress="myListBoxOnKeyPress(this)" />
答案 0 :(得分:0)
在你的代码隐藏中(例如page_load)指定
yourSelectList.Attributes.Add("onkeypress", "YourJavascriptMethodCallHere()");
这将调用客户端javascript。如果您想要处理服务器端的密钥(已添加以获取更多信息),请查看:http://forums.asp.net/t/1281277.aspx/1
DropDownList1.Attributes.Add("onkeypress", Page.GetPostBackEventReference(DropDownList1,"onkeypress"));
答案 1 :(得分:0)
我的坏。似乎我的ListBox元素的ASPX代码中有一个onkeydown="return false"
,它取消了onkeypress
事件的发生。