【问题标题】:Cancelling the keypress [Enter] action on a Telerik RadGrid取消 Telerik RadGrid 上的按键 [Enter] 操作
【发布时间】:2012-02-07 19:17:48
【问题描述】:

我有一个 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 版

【问题讨论】:

    标签: asp.net vb.net visual-studio-2008 keypress telerik-grid


    【解决方案1】:

    这是我的 javascript 代码,用于取消 enterkey 上的事件。

     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();
                }        
            }
    

    【讨论】:

      猜你喜欢
      • 2011-08-08
      • 1970-01-01
      • 2017-01-26
      • 2012-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      相关资源
      最近更新 更多