zoukankan      html  css  js  c++  java
  • 为控件在后台设置快捷键

    代码如下:

        /// <summary>
        /// 按钮设置快捷键
        /// </summary>
        /// <param name="pageCurrent">Page</param>
        /// <param name="slkey"></param>
        private void SetShortcutKey(System.Web.UI.Page pageCurrent, SortedList slkey)
        {
            int icount = slkey.Count;
            string strjavascript = "<script type=\"text/javascript\"> "
                                     + "document.onkeydown = function() "
                                     + "{"
                                     + "     if(event.keyCode==" + slkey.GetByIndex(0) + ")"
                                     + "     { "
                                     + "         document.getElementById('" + slkey.GetKey(0) + "').click();"
                                     + "     }";
            for (int j = 1; j < icount; j++)
            {
                strjavascript += "if(event.keyCode==" + slkey.GetByIndex(j) + ")"
                              + " { "
                              + "       document.getElementById('" + slkey.GetKey(j) + "').click();"
                              + " }";
            }
            strjavascript += "}</script>";
            pageCurrent.ClientScript.RegisterStartupScript(pageCurrent.GetType(), Guid.NewGuid().ToString(), strjavascript);
        }
        SortedList _shortcutkeys;
        public void AddShortcutKey(WebControl control, string keycode)
        {
            if (_shortcutkeys == null)
            {
                _shortcutkeys = new SortedList();
            }
            _shortcutkeys.Add(control.ClientID, keycode);
        }
    
            /// <summary>
            /// 设置快捷键
            /// </summary>
            private void ShortcutKey()
            {
                AddShortcutKey(btnSave, ShortKeyConst.F7);
                AddShortcutKey(btnSubmit, ShortKeyConst.F12);
            }
    
        /// <summary>
        /// 设置快捷键
        /// </summary>
        /// <param name="writer"></param>
        protected override void Render(HtmlTextWriter writer)
        {
            if (_shortcutkeys != null)
            {
                SetShortcutKey(this, _shortcutkeys);
            }
            base.Render(writer);
        }
    
        public class ShortKeyConst
        {
            public const string F2 = "113";
            public const string F7 = "118";
            public const string F8 = "119";
            public const string F9 = "120";
            public const string F11 = "122";
            public const string F12 = "123";
            public const string Esc = "27";
        }
  • 相关阅读:
    Java for LeetCode 052 N-Queens II
    Java for LeetCode 051 N-Queens
    Java for LeetCode 050 Pow(x, n)
    Java for LeetCode 049 Anagrams
    15-[JavaScript]-ECMAScript 1
    4-观看答辩有感
    51-小米官网
    14-HTML-CSS案例
    13-[CSS]-postion位置:相relative,绝absolute,固fixed,static(默认),z-index
    12-[CSS]-margin塌陷,margin 0 auto,善用父级的padding
  • 原文地址:https://www.cnblogs.com/gzh4455/p/2668640.html
Copyright © 2011-2022 走看看