.= 'tag.htm'; break; case 'flag': $pre .= $default_pre .= 'flag.htm'; break; case 'my': $pre .= $default_pre .= 'my.htm'; break; case 'my_password': $pre .= $default_pre .= 'my_password.htm'; break; case 'my_bind': $pre .= $default_pre .= 'my_bind.htm'; break; case 'my_avatar': $pre .= $default_pre .= 'my_avatar.htm'; break; case 'home_article': $pre .= $default_pre .= 'home_article.htm'; break; case 'home_comment': $pre .= $default_pre .= 'home_comment.htm'; break; case 'user': $pre .= $default_pre .= 'user.htm'; break; case 'user_login': $pre .= $default_pre .= 'user_login.htm'; break; case 'user_create': $pre .= $default_pre .= 'user_create.htm'; break; case 'user_resetpw': $pre .= $default_pre .= 'user_resetpw.htm'; break; case 'user_resetpw_complete': $pre .= $default_pre .= 'user_resetpw_complete.htm'; break; case 'user_comment': $pre .= $default_pre .= 'user_comment.htm'; break; case 'single_page': $pre .= $default_pre .= 'single_page.htm'; break; case 'search': $pre .= $default_pre .= 'search.htm'; break; case 'operate_sticky': $pre .= $default_pre .= 'operate_sticky.htm'; break; case 'operate_close': $pre .= $default_pre .= 'operate_close.htm'; break; case 'operate_delete': $pre .= $default_pre .= 'operate_delete.htm'; break; case 'operate_move': $pre .= $default_pre .= 'operate_move.htm'; break; case '404': $pre .= $default_pre .= '404.htm'; break; case 'read_404': $pre .= $default_pre .= 'read_404.htm'; break; case 'list_404': $pre .= $default_pre .= 'list_404.htm'; break; default: $pre .= $default_pre .= theme_mode_pre(); break; } if ($config['theme']) { $conffile = APP_PATH . 'view/template/' . $config['theme'] . '/conf.json'; $json = is_file($conffile) ? xn_json_decode(file_get_contents($conffile)) : array(); } !empty($json['installed']) and $path_file = APP_PATH . 'view/template/' . $config['theme'] . '/htm/' . ($id ? $id . '_' : '') . $pre; (empty($path_file) || !is_file($path_file)) and $path_file = APP_PATH . 'view/template/' . $config['theme'] . '/htm/' . $pre; if (!empty($config['theme_child']) && is_array($config['theme_child'])) { foreach ($config['theme_child'] as $theme) { if (empty($theme) || is_array($theme)) continue; $path_file = APP_PATH . 'view/template/' . $theme . '/htm/' . ($id ? $id . '_' : '') . $pre; !is_file($path_file) and $path_file = APP_PATH . 'view/template/' . $theme . '/htm/' . $pre; } } !is_file($path_file) and $path_file = APP_PATH . ($dir ? 'plugin/' . $dir . '/view/htm/' : 'view/htm/') . $default_pre; return $path_file; } function theme_mode_pre($type = 0) { global $config; $mode = $config['setting']['website_mode']; $pre = ''; if (1 == $mode) { $pre .= 2 == $type ? 'portal_category.htm' : 'portal.htm'; } elseif (2 == $mode) { $pre .= 2 == $type ? 'flat_category.htm' : 'flat.htm'; } else { $pre .= 2 == $type ? 'index_category.htm' : 'index.htm'; } return $pre; } ?>javascript - Override the browser shortcuts by my own custom shortcuts - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Override the browser shortcuts by my own custom shortcuts - Stack Overflow

programmeradmin0浏览0评论

I created one Asp MVC4 web application using C# which we can dynamically create keyboard shortcuts for all the pages.And we can use that keyboard shortcuts instantly to go to specific page.And the problem is every browser have their own default shortcuts.For example

If I create the keyboard shortcut CTRL + A it should redirect to my own custom page. But the default browser shortcut CTRL + A selects all from the page instead.

I want to disable the default browser shortcuts to give priority to my own custom shortcuts.Is this any way to achieve these? For my custom shortcuts,i used jquery keyUp event.I searched on internet,there suggestion are on jquery keyUp event,use preventDefault().But for accessing my own custom shortcuts,i am using keyUp event.So tell me suggestions to disable default browser shortcuts in all browsers either by C#, jquery or any other way.

I created one Asp MVC4 web application using C# which we can dynamically create keyboard shortcuts for all the pages.And we can use that keyboard shortcuts instantly to go to specific page.And the problem is every browser have their own default shortcuts.For example

If I create the keyboard shortcut CTRL + A it should redirect to my own custom page. But the default browser shortcut CTRL + A selects all from the page instead.

I want to disable the default browser shortcuts to give priority to my own custom shortcuts.Is this any way to achieve these? For my custom shortcuts,i used jquery keyUp event.I searched on internet,there suggestion are on jquery keyUp event,use preventDefault().But for accessing my own custom shortcuts,i am using keyUp event.So tell me suggestions to disable default browser shortcuts in all browsers either by C#, jquery or any other way.

Share Improve this question edited Feb 24, 2015 at 9:56 Rory McCrossan 338k41 gold badges320 silver badges351 bronze badges asked Feb 24, 2015 at 9:51 venkivenki 3032 silver badges10 bronze badges 1
  • I'm pretty sure this is not possible, at the very least it won't work reliably accross all browsers. You can listen to key events using keydown and check the event to see if CTRL was pressed, but the browser chrome will override any shortcuts you make in JS. – Rory McCrossan Commented Feb 24, 2015 at 9:59
Add a ment  | 

2 Answers 2

Reset to default 9

This will let you do this:

e.ctrlKey && String.fromCharCode(kc).toUpperCase()

checks for Ctrl + A to be pressed.

$(document).on('keydown', function(e) {
  var kc = e.which || e.keyCode;

  if (e.ctrlKey && String.fromCharCode(kc).toUpperCase() == "A") {
    e.preventDefault();
    console.log(String.fromCharCode(kc).toUpperCase());
    window.location.href = 'your url here';
  }
});
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
adfasfasdfsda
You should click in the document to focus and then you can test it.

You had the procedure correct. I guess you can use ascii values to manipulate such things for eg: I use this for pressing enter key.

$('body').on('keypress', '#Selector-Id', function(e) {
if (e.which == 13) {
alert("Hi");
}
});
发布评论

评论列表(0)

  1. 暂无评论