我有一个 Telerik Radgrid ,其中包含可用于解锁我网页上的功能的所有有效用户名和密码。
密码已加密,因此您必须单击要解密的行并显示实际密码。管理员可以更改所有用户名和密码
当管理员按[ENTER]提交新的用户名/密码组合(而不是按提交按钮)时,实际上会提交新的组合(这很好)。
但是,我的问题是,默认情况下,RadGrid选择下一行,解密密码并允许您编辑用户名/密码。
理想情况下,按[ENTER]只会提交用户名/密码组合,而不会选择任何其他行。如果那是不可能的,按[ENTER]不应该做任何事情。
如果尝试过以下javascript代码:
<script type="text/javascript">
function KeyPressed(sender, eventArgs) {
if (eventArgs.get_keyCode() == 13)
{
alert("Cancelling event");
eventArgs.set_cancel(true);
}
}
</script>
警告框被引发,但[ENTER]事件不会被中断。
编辑:请注意,警报仅供测试!
我还将此代码添加到我的RadGrid控件中以添加KeyPress捕获
<ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="true" ClientEvents-OnKeyPress="KeyPressed" AllowKeyboardNavigation="true">
<Selecting AllowRowSelect="True" />
</ClientSettings>
我的问题是:如何中断[ENTER]按键事件?或者修改它的行为? 任何提示将不胜感激
我在Visual Studio 2008上使用VB.net。 我使用的是ASP.net 2.0版
答案 0 :(得分:6)
这是我的javascript代码,用于取消输入密钥上的事件。
function CheckKey() {
if (event.keyCode == 13) {
CancelEvent();
}
}
function CancelEvent() {
var e = window.event;
e.cancelBubble = true;
e.returnValue = false;
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
}