Capture a keydown or keypress?

G

George Hester

When the address bar is highligted? That is nothing on the page is selected. The address bar is selected. Capture keydown or keypress? Any ideas using javascript? Thanks.
 
R

rf

When the address bar is highligted? That is nothing on the page is
selected. The address bar is selected. Capture keydown or keypress? Any
ideas using javascript? Thanks.

Can't be done.

Cheers
Richard.
 
S

Steve

When the address bar is highligted? That is nothing on the page is selected. The address bar is selected.
Capture keydown or keypress? Any ideas using javascript? Thanks.

If the address bar is highlighted, windows focus will be on the browser,
not the document so the browser will see the keypress, not the
document. What you want to do just won't work
 
K

kaeli

Thanks. That takes care of that. Using any other technology?

I believe using IE6+ and a WSH it might be possible...
But that's just a guess. :)

Otherwise you'd have to use .net and a custom browser extenstion.

--
 
R

rf

Thanks. That takes care of that. Using any other technology?

What precicely are you trying to do?
 
G

George Hester

Basically what I was trying to do I've given up. The idea was to determine what the tabIndex was upon tabbing through my controls on a form and hitting the address bar. I have 5 controls. 4 on the form and 1 on a link. So there are only 5 "elements" which get the tab. 0, 1, 2, 3 on the form and 4 is the link. I number them explicitly this way. But onkeydown over the 4th one, the link, sends control to the address bar. At that point I cannot capture onkeydown. onkeydown over the link is not captured (fired) when the key is the TAB and the place the cursor goes is the address bar.

The trouble is my tabIndex seems to act inconsistently when the address bar is included in the mix.
 
G

Grant Wagner

<form>
<input type="text" name="one" tabindex="1">
<input type="text" name="two" tabindex="2">
<input type="text" name="three" tabindex="3">
<input type="text" name="four" tabindex="4" onblur="this.form.elements['one'].focus();">
</form>

Doesn't help if the user hits SHIFT+TAB in the first form element however.

George said:
Basically what I was trying to do I've given up. The idea was to determine what the tabIndex was upon tabbing through my controls on a form and hitting the address bar. I have 5 controls. 4 on the form and 1 on a link. So there are only 5 "elements" which get the tab. 0, 1, 2, 3 on the form and 4 is the link. I number them explicitly this way. But onkeydown over the 4th one, the link, sends control to the address bar. At that point I cannot capture onkeydown. onkeydown over the link is not captured (fired) when the key is the TAB and the place the cursor goes is the address bar.

The trouble is my tabIndex seems to act inconsistently when the address bar is included in the mix.

--
| Grant Wagner <[email protected]>

* Client-side Javascript and Netscape 4 DOM Reference available at:
* http://devedge.netscape.com/library/manuals/2000/javascript/1.3/reference/frames.html
* Internet Explorer DOM Reference available at:
* http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp
* Netscape 6/7 DOM Reference available at:
* http://www.mozilla.org/docs/dom/domref/
* Tips for upgrading JavaScript for Netscape 7 / Mozilla
* http://www.mozilla.org/docs/web-developer/upgrade_2.html
 
E

Evertjan.

Grant Wagner wrote on 02 jan 2004 in comp.lang.javascript:
<form>
<input type="text" name="one" tabindex="1">
<input type="text" name="two" tabindex="2">
<input type="text" name="three" tabindex="3">
<input type="text" name="four" tabindex="4"
onblur="this.form.elements['one'].focus();"> </form>

Doesn't help if the user hits SHIFT+TAB in the first form element
however.

You can use to "hidden" inputs that only act as tab and shift-tab catch.
They cannot be visibility:hidden or display:none, just style zero-sized.

The tab sequence will be 234523452...

The shift-tab sequence will be 5432543254....

Try:

<script>tabn=false;</script>
<form>
<input style="width:0;height:0;" tabindex="1"
onfocus="if(tabn){tabn=false;this.form.elements['four'].focus();}">
<input type="text" name="one" tabindex="2" onkeydown="tabn=true">
<input type="text" name="two" tabindex="3">
<input type="text" name="three" tabindex="4">
<input type="text" name="four" tabindex="5">
<input style="width:0;height:0;" tabindex="6"
onfocus="this.form.elements['one'].focus();">
</form>

IE6 tested.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,012
Latest member
RoxanneDzm

Latest Threads

Top