PRB: HREF="#" with Event Code Behaves Differently

ID: Q190244


The information in this article applies to:


SYMPTOMS

The following HTML statement, when clicked, will navigate to a new URL in Internet Explorer 3.0, but fails to do so in Internet Explorer 4.0:


<A HREF="#" onclick="window.location.href='http://www.microsoft.com';"> 
    problem repro </A> 


CAUSE

Internet Explorer 4.0 waits until all events from the <A> tag are finished before processing the HREF attribute, so window.location.href will be overwritten by HREF="#".


RESOLUTION

Here are three ways to make this tag work as expected in Internet Explorer 4.0. See the "More Information" section for a complete code listing.


STATUS

This behavior is by design.


MORE INFORMATION

Steps to Reproduce Behavior

The following HTML code demonstrates the problem and the resolutions.

<HTML>
<HEAD>
<TITLE> title </TITLE>
</HEAD>
<BODY>

<A HREF="#" onclick="window.location.href='http://www.microsoft.com';">
 problem repro </A>
<br>
<A HREF="#" onclick="window.location.href='http://www.microsoft.com';
   window.event.returnValue=false;">
   solution 1: add window.event.returnValue=false statement</A>
<br>
<A HREF="JavaScript:window.location.href='http://www.microsoft.com';">
   solution 2: replace HREF value with JavaScript:[code] </A>
<br>
<A onclick="window.location.href='http://www.microsoft.com';"
   onmouseover="window.status='http://www.microsoft.com';"
   onmouseout="window.status='';"
   style="cursor:hand; text-decoration:underline; color:blue;
   font-family:times new roman">
   solution 3: remove HREF attribute and use CSS </A>
</BODY>
</HTML> 


REFERENCES

For more information, please see the MSDN Web Workshop:

http://msdn.microsoft.com/workshop/default.asp

For more information about Microsoft Scripting technologies, see the following Web site:
http://msdn.microsoft.com/scripting/

Additional query words:


Keywords          : kbhtml kbIE400 kbIE401bug kbScript kbIE500 
Version           : WINDOWS:4.0,4.01
Platform          : WINDOWS 
Issue type        : kbprb 

Last Reviewed: April 30, 1999