Problem with Accesskey in IE

I am trying to make this piece of code to work on IE 5.x but it does not. I was to execute a piece of javascript when accelerator key Alt+P is pressed.
Any suggestions to make it work?

It apparently works very well with Netscape 6.2

<html>
<head>
</head>
<body>
<a accesskey="p"   href="javascript:alert('This is an alert')">
<img src="bin.jpg" name="left" border="0" alt="Click or 'ALT P' for previous page" WIDTH="30" HEIGHT="26"></a>
</body>
</html>

Nikhil
LVL 2
nikhilhAsked:
Who is Participating?
 
avnerConnect With a Mentor Commented:
nikhilh and ahosang  , I do not agree.

The question is regarding :
<a accesskey="p"   href="javascript:alert('This is an alert')">
to work on IE5.x
As I stated aboce the ALT + P for IE with A tags, fires an "onfocus" event, and not "onclick" event like NS6 does.

As I also stated, this is by design and not a bug and there for is the solution for your problem.

For a workaround, as I suggested above , use onchange event :
<a accesskey="p"   onfocus="javascript:alert('This is an alert')" href="void()">use onchange</a>


This question was fully answerd.
0
 
lexxwernCommented:
I tried out the script you gave above; in IE6 too it did not work! what i observed was that whne i pressed Alt+P, the whole javascript command appeared in the Status Bar. Wierd working of MSIE.


lexxwern
0
 
avnerCommented:
Seems like a Bug.

This workaround seems to work :

<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
<!--
function pCheck()
{

if (event.keyCode!="80" || !event.altKey)    
     {
          return true;
     }
document.getElementById("aa").click();
}
//-->
</SCRIPT>
</head>
<body onkeydown="pCheck();">
<a id="aa"   href="javascript:alert('This is an alert')">
<img src="bin.jpg" name="left" border="0" alt="Click or 'ALT P' for previous page" WIDTH="30" HEIGHT="26"></a>

</body>
</html>
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
nikhilhAuthor Commented:
That will not work for a web site.. I will have to have a big switch statement to compare all the event keys that I want to trap. I was hoping that the accesskey function would save me that trouble.. except for this problem..

Thanks
0
 
avnerCommented:
ACCESSKEY does work in IE.
It seems like only with ALT+P there is a problem.

This workaround will cover this small bug, other ACCESSKEY can be used.
0
 
nikhilhAuthor Commented:
ALT+P was just a example.. I tried it for quite a few keys and it does not work.

0
 
avnerCommented:
This example seems to work :

<LABEL FOR="fp1" ACCESSKEY="P">#<SPAN style="text-decoration:underline;">P</SPAN>:
    Press Alt+P to set focus to textbox</LABEL>
<INPUT TYPE="text" NAME="T1" VALUE=text1 SIZE="20"
    TABINDEX="1" ID="fp1">


with P
0
 
nikhilhAuthor Commented:
ALT+P was just a example.. I tried it for quite a few keys and it does not work.

0
 
avnerCommented:
check out this url :

http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/dhtmlrefs.asp


What you need to try is :
<INPUT type="button"  ACCESSKEY="P" onclick="alert('moshe')">

It seems like the <A> tag does not fire the onclick and just sets the focus.

0
 
nikhilhAuthor Commented:
The problem is probably with invoking Javascript.
0
 
avnerCommented:
It's not a problem.
It's the way ACCESSKEY behaves.
IT doesn't always invoke onclick event, on <A> tag it just set the focus (you can then call the method on the onfocus handler as a work around).
0
 
nikhilhAuthor Commented:
The problem is probably with invoking Javascript.
0
 
nikhilhAuthor Commented:
Netscape 6.2 supports it absolutely fine, so I thought that IE 5 should also have a support for the same.
0
 
avnerCommented:
But I don't understand the problem now.
0
 
nikhilhAuthor Commented:
Netscape 6.2 supports it absolutely fine, so I thought that IE 5 should also have a support for the same.
0
 
ahosangCommented:
This question has been abandoned. I will make a recommendation to the moderators on its resolution in a week or so. I appreciate any comments that would help me to make a recommendation.
 
In the absence of responses, I may recommend DELETE unless it is clear to me that it has value as a PAQ. Silence = you don't care
 
ahosang
0
 
nikhilhAuthor Commented:
None of the above comments worked. So as far as I am concerned, you can DELETE the same.
0
 
SpideyModCommented:
answered by avner

SpideyMod
Community Support Moderator @Experts Exchange
0
All Courses

From novice to tech pro — start learning today.