Forum Moderators: open

Message Too Old, No Replies

Javascript action when clicked on any element

         

designaweb

10:21 am on Oct 24, 2006 (gmt 0)

10+ Year Member



I want to perform a "javascript:function();" action when a user clicks on *any* <a href=""></a> element. Is this possible without adding the "onclick" event to each and every single element?

Little_G

10:48 am on Oct 24, 2006 (gmt 0)

10+ Year Member



Hi,

try:


var linkElems = document.getElementsByTagName('a');
for(i in linkElems){
linkElems.onClick = funcName();
}

[i]Andrew

daveVk

10:58 am on Oct 24, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Try putting onclick handler on body element and check event.fromElement is an A tag.

designaweb

11:52 am on Oct 24, 2006 (gmt 0)

10+ Year Member



Thanks for the suggestions, this is what I came up with:

var i, n_elems, elems = document.getElementsByTagName("a");

for (i = 0; i < elems.length; i++) {

if( elems[i].addEventListener ) {
elems[i].addEventListener('click',my_function,false);
} else if ( elems[i].attachEvent ) {
elems[i].attachEvent('click',my_function);
} else {
elems[i].onclick = my_function;
}

}

Seems to be compatible with both Firefox and IE. Tested under FF 1.5.0.7 and IE 7.0.5700.6