A while back I was trying to figure out how to make F1 bring up a custom help window in our web application ActiveFocus. It is easy enough to trap a keypress and open a window showing the help, but to my frustration, after popping up the new window, the built in Internet Explorer help window popped up too!
I tried various variations of cancelling the kepress event, but nothing seems to work. This is for instance how I cancel Ctrl+F (which normally pops up IEs built in Find dialog, but I wanted it to show a custom search dialog instead) :
<script type="text/javascript">function onKeyDownH(e){ e = window.event; var ctrl = (e.ctrlKey) ? true : false; if (ctrl == true ) { if ( e.keyCode == 70) { e.returnValue = false; e.keyCode = 0; ShowSearchPage(); } }}function onloadH(e){ document.onkeydown = onKeyDownH; return true;}window.onload = onloadH;</script>
This cancelling approach by the way does work for other keypresses, just not F1, which has some kind of special internal handing. After much head scratching I finally stumbled across this simple solution:
<body onhelp="ShowHelp(); return false;">
Here, ShowHelp does the actual showing of the help window.
Simple, huh? If anyone knows how to make this cross browser compatible I am all ears!
Remember Me
a@href@title, i, strike, u
Copyright © 2003-2008 Falafel Software Inc.
Subscribe to Falafel Blogs
The opinions expressed herein are Falafel's employees own personal opinions and do not represent Falafel Software's view in any way in case they go bananas!