Forum Moderators: open
<script type="text/javascript">
var ids = [];
// Function to list all ids in document
function listMe() {
var allTags = document.body.getElementsByTagName('*');
for (var tg = 0; tg< allTags.length; tg++) {
var tag = allTags[tg];
if (tag.id) {
ids.push(tag.id);
var el = tag.id;
}
}
setMe();
}
// Function to respond to click events
function clikDisplay() {
var ab = ab +"1";
alert(ab);
ab = document.getElementById(ab);
ab.style.display = "block";
}
// Function to set listeners for all ids in document
function setMe() {
var i;
for (i=0; i<ids.length; i++) {
var evalue = ids[i];
var elistener = document.getElementById(evalue);
alert(evalue);
if (evalue.addEventListener){
elistener.addEventListener('click', clikDisplay, false);
} // For IE
else if (elistener.attachEvent){
elistener.attachEvent('onclick', clikDisplay);
}
}
}
</script>
</head>
<body onload = listMe();>
<div id="alac">Listener text. id = alac
</div>
<div class="menu_tab" id="alac1" style="display:none;">
<span style="color:#000000;">Displays this text.</span>
</div>
function clikDisplay(el) {
alert("This is clickDisplay fired.");
var ab = el +"1";
alert(ab);
ab = document.getElementById(ab);
ab.style.display = "block";
} <!DOCTYPE html>
<head>
<meta charset="utf-8" />
<script type="text/javascript">
var ids = [];
// Function to list all ids in document
function listMe() {
var allTags = document.body.getElementsByTagName('*');
for (var tg = 0; tg< allTags.length; tg++) {
var tag = allTags[tg];
if (tag.id) {
ids.push(tag.id);
var el = tag.id;
}
}
setMe();
}
// Function to respond to click events
function clikDisplay(el) {
alert("This is clickDisplay fired.");
var ab = el +"1";
alert(ab);
ab = document.getElementById(ab);
ab.style.display = "block";
}
// Function to set listeners for all ids in document
function setMe() {
var i;
for (i=0; i<ids.length; i++) {
var evalue = ids[i];
var elistener = document.getElementById(evalue);
alert(evalue);
if (evalue.addEventListener){
elistener.addEventListener('click', clikDisplay, false);
} // For IE
else if (elistener.attachEvent){
elistener.attachEvent('onclick', clikDisplay);
}
}
}
</script>
</head>
<body onload = listMe();>
<div id="alac" >Div alac Listener text.
</div>
<div class="menu_tab" id="alac1" style="display:none;">
<span style="color:#000000;">On alac click, displays this div/text.</span>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Use Jquery.</title>
<style type="text/css">
/*Just so you can see where things are*/
p,h1,li { border: 1px solid #d6d6d6; }
</style>
<!-- later versions give a "sizzle" error in FF (?) -->
<script type="text/javascript" src="jquery-1.2.6.min.js"></script>
<script type="text/javascript">
// move me externally
$(document).ready(function(){
// api.jquery.com/has-attribute-selector/
// api.jquery.com/css/
// api.jquery.com/bind/
$('*[id]').css('cursor','pointer'); // for unnatural click objects
$('*[id]').bind('click', function() {
identify_me(this);
});
});
//
function identify_me(obj) {
alert(obj.id);
return false;
}
//
</script>
</head>
<body>
<h1>Attach Click Event to All ID's</h1>
<p id="some-id">Some id'ed 'graph</p>
<p class="whatever">No ID, no click event</p>
<ul>
<li id="list-1">Click</li>
<li>No Click</li>
<li id="list-2">Click</li>
<li id="list-3">Click</li>
<li id="list-4">Click</li>
</ul>
<p><a href="#" id="some-link">Also returns false</a></p>
</body>
</html>
var elements = $('*[id]');
for (j=0;j<elements.length;j++) {
$('#'+elements[j].id).bind('click', function() {
functions[this.id](this);
});
}
this, which I wasn't using. The id of the element that had the mouse event is accessed by this.id. The basic code is for a simple menu system so when a menu element (div, p, ol... with an id) is clicked, it displays another element with the same id incremented by 1. You could also use class, or even the title. Additional handlers can be added for mouseover, and other mouse events. <script type="text/javascript" src="../js/jquery-1.4.3.min.js">
</script>
<script type="text/javascript" > //<![CDATA[
// When the page is ready
$(document).ready(function(){
listMe();
});
//]]>
var ids = [];
// Function to list all ids - this works in both ie and FF. ("push" adds elements to the ids array and returns length.)
function listMe() {
var allTags = document.body.getElementsByTagName('*');
for (var tg = 0; tg< allTags.length; tg++) {
var tag = allTags[tg];
if (tag.id) {
ids.push(tag.id);
var el = tag.id;
}
}
setMe();
}
// This function displays the element on click.
function clikDisplay(el) {
alert("This is clickDisplay fired.");
alert(this.id);
var ab = this.id +"1";
alert(ab);
ab = document.getElementById(ab);
ab.style.display = "block";
}
/* This function sets the event listeners. It needs another else/alert for older browsers (pre-IE6 and NS4)*/
function setMe() {
var i;
for (i=0; i<ids.length; i++) {
//alert(ids[i]);
var evalue = ids[i];
var elistener = document.getElementById(evalue);
if (elistener.addEventListener){
elistener.addEventListener('click', clikDisplay, false);
}
else if (elistener.attachEvent){
elistener.attachEvent('onclick', clikDisplay);
}
}
}
</script>