Connecting Tech Pros Worldwide Help | Site Map

Follow link, then execute a function

  #1  
Old November 17th, 2006, 04:55 PM
Spartanicus
Guest
 
Posts: n/a
I need to execute a function after a link to a section within the same
document has been clicked and the navigation has occurred. When using
the onclick event handler the JS function is executed before the
navigation occurs. I can't tie it to a window.onload event since the
link only navigates within the already loaded document.

I'm not having any luck searching due to not knowing what keywords to
use. I looked at an explanation of bubbling vs capturing, but that
doesn't appear to be what I need.

--
Spartanicus
  #2  
Old November 17th, 2006, 04:55 PM
Daz
Guest
 
Posts: n/a

re: Follow link, then execute a function



Spartanicus wrote:
Quote:
I need to execute a function after a link to a section within the same
document has been clicked and the navigation has occurred. When using
the onclick event handler the JS function is executed before the
navigation occurs. I can't tie it to a window.onload event since the
link only navigates within the already loaded document.
>
I'm not having any luck searching due to not knowing what keywords to
use. I looked at an explanation of bubbling vs capturing, but that
doesn't appear to be what I need.
>
--
Spartanicus
Enclose the function to be called within a function statement. For
example:

objectName.onclick = function(){ functionToBeCalled(); }

  #3  
Old November 17th, 2006, 05:15 PM
shimmyshack
Guest
 
Posts: n/a

re: Follow link, then execute a function


so you mean moving to a named section using hash?

<a
name="1"
href="#2"

onclick="javascript:document.location='#2';alert(' youve_reached_2');"
Quote:
>
asdas
</a>

..
..
..
..
<a
id="2"
name="2"
href="#1"

onclick="javascript:document.location='#1';documen t.getElementById('1').onfocus
= function(){alert('youve_reached_1')};"
Quote:
>
asdas
</a>

the first onclick uses two js statements so you can be sure the first
executes before the second.
the second onclick does the same but uses onfocus which might be more
predictable.

dont use onclick though right, and this is a dirty solution!

  #4  
Old November 17th, 2006, 06:25 PM
VK
Guest
 
Posts: n/a

re: Follow link, then execute a function



Spartanicus wrote:
Quote:
I need to execute a function after a link to a section within the same
document has been clicked and the navigation has occurred. When using
the onclick event handler the JS function is executed before the
navigation occurs.
Yes, this behavior is by design. As already suggested you can move the
navigation part to the script as well, just don't use the whole href
replacement on hash or IE before 6 may get dizzy or nasty of that :-)

Your links then could be like:

<a href="#anchor001" onclick="self.location.hash='anchor001';
myFunction(); return false">Anchor 001</a>

This way with script enabled "return false" will prevent the default
navigation but will execute the programmed one.

With script disabled you'll get just a regular anchor.

Closed Thread


Similar Threads
Thread Thread Starter Forum Replies Last Post
can't understand what's wrong with this function... hirsh.dan@gmail.com answers 4 August 3rd, 2008 02:55 AM
How to make a function associated with a class? Kurda Yon answers 7 July 7th, 2008 10:25 PM
Finding out the current running Function or Sub name Rico answers 3 November 1st, 2006 08:45 PM
follow a link ('soft') Joris Gillis answers 2 July 23rd, 2005 08:15 PM