没有为Lis​​tBox触发OnKeyPress事件

时间:2011-08-26 04:40:53

标签: javascript asp.net javascript-events

我正在尝试将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)" />

2 个答案:

答案 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事件的发生。