原生js如何绑定a连接点击事件? 原生js如何绑定a连接点击事件? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var links=document.getElementById("switch_sites").getElementsByTagName("a"); for(var i=0;i<links.length;i++){ links[i].onclick=function(){ alert(this.innerHTML) } } <a href="#" onclick="alert(this.innerHTML)">aaaaaaaaaa</a> 太多方式了 楼上的都写了两种了还有根据浏览器绑定的 IE/DOMIE: attachEvent/detachEventDOM : addEventlistener/removeEventListener这种问题 GOOGLE下就有了 同学 使用事件委托var EventUtil = { addHandler: function(element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false); } else if (element.attachEvent) { element.attachEvent("on", + type, handler); } else { element["on" + type] = handler; } }, getEvent: function(event) { return event ? window.event; }, getTarget: function(event) { return event.target || event.srcElement; }, preventDefault: function(event) { if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; } }, removeHandler: function(element, type, handler) { if (element.removeEventListener) { element.removeEventListener(type, handler, false); } else if (element.detachEvent) { element.detachEvent("on", + type, handler); } else { element["on" + type] = null; } }};var list = document.getElementById("switch_sites");EventUtil.addHandler(list, "click", function(event){ event = Event.Util.getEvent(event); var target = EventUtil.getTarget(event); var uls = target.parentNode.parentNode; switch(target){ case "uls.getElementsByTagName("li")[0].getElementsByTagName("a")[0]": alert(target.nodeValue); break; case "uls.getElementsByTagName("li")[1].getElementsByTagName("a")[0]": alert(target.nodeValue); break; case "uls.getElementsByTagName("li")[2].getElementsByTagName("a")[0]": alert(target.nodeValue); break; }}); 错了,应该是使用事件委托var EventUtil = {addHandler: function(element, type, handler) {if (element.addEventListener) {element.addEventListener(type, handler, false);} else if (element.attachEvent) {element.attachEvent("on", + type, handler);} else {element["on" + type] = handler;} },getEvent: function(event) {return event ? window.event;},getTarget: function(event) {return event.target || event.srcElement;},preventDefault: function(event) {if (event.preventDefault) {event.preventDefault();} else {event.returnValue = false;}},removeHandler: function(element, type, handler) {if (element.removeEventListener) {element.removeEventListener(type, handler, false);} else if (element.detachEvent) {element.detachEvent("on", + type, handler);} else {element["on" + type] = null;} }};var list = document.getElementById("switch_sites");EventUtil.addHandler(list, "click", function(event){event = EventUtil.getEvent(event);var target = EventUtil.getTarget(event); var uls = target.parentNode.parentNode;switch(target){case "uls.getElementsByTagName("li")[0].getElementsByTagName("a")[0]":alert(target.nodeValue);break;case "uls.getElementsByTagName("li")[1].getElementsByTagName("a")[0]":alert(target.nodeValue);break;case "uls.getElementsByTagName("li")[2].getElementsByTagName("a")[0]":alert(target.nodeValue);break;}}); 自动滚动一个li 求解,图像转换问题 Extjs后台用Struts2分页出现问题 body背景属性问题 一个教难的问题,想了半天没得到方法,请大家来谈论并指教下。。。。。。 怎样用javascript实现.象点击ie查看->文字大小->最大,较大,中,较小,最小 实现的功能. 怎样实现按回车键时执行tab键的功能 高人救我。。。。。。。。 100用过rte.js在线编辑器的请进,焦点无法定位 页面另存问题。 IE6中,js可以调用falsh的函数,都正常的,但IE9及chrome就不行,点击没反应 jquery Ajax responseText 货值
for(var i=0;i<links.length;i++){
links[i].onclick=function(){
alert(this.innerHTML)
}
}
还有根据浏览器绑定的 IE/DOM
IE: attachEvent/detachEvent
DOM : addEventlistener/removeEventListener这种问题 GOOGLE下就有了 同学
var EventUtil = {
addHandler: function(element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false);
} else if (element.attachEvent) {
element.attachEvent("on", + type, handler);
} else {
element["on" + type] = handler;
}
}, getEvent: function(event) {
return event ? window.event;
}, getTarget: function(event) {
return event.target || event.srcElement;
}, preventDefault: function(event) {
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false;
}
}, removeHandler: function(element, type, handler) {
if (element.removeEventListener) {
element.removeEventListener(type, handler, false);
} else if (element.detachEvent) {
element.detachEvent("on", + type, handler);
} else {
element["on" + type] = null;
}
}
};var list = document.getElementById("switch_sites");EventUtil.addHandler(list, "click", function(event){
event = Event.Util.getEvent(event);
var target = EventUtil.getTarget(event);
var uls = target.parentNode.parentNode; switch(target){
case "uls.getElementsByTagName("li")[0].getElementsByTagName("a")[0]":
alert(target.nodeValue);
break; case "uls.getElementsByTagName("li")[1].getElementsByTagName("a")[0]":
alert(target.nodeValue);
break; case "uls.getElementsByTagName("li")[2].getElementsByTagName("a")[0]":
alert(target.nodeValue);
break; }
});
使用事件委托
var EventUtil = {addHandler: function(element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false);
} else if (element.attachEvent) {
element.attachEvent("on", + type, handler);
} else {
element["on" + type] = handler;
}
},getEvent: function(event) {
return event ? window.event;
},getTarget: function(event) {
return event.target || event.srcElement;
},preventDefault: function(event) {
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false;
}
},removeHandler: function(element, type, handler) {
if (element.removeEventListener) {
element.removeEventListener(type, handler, false);
} else if (element.detachEvent) {
element.detachEvent("on", + type, handler);
} else {
element["on" + type] = null;
}
}
};var list = document.getElementById("switch_sites");EventUtil.addHandler(list, "click", function(event){
event = EventUtil.getEvent(event);
var target = EventUtil.getTarget(event);
var uls = target.parentNode.parentNode;switch(target){
case "uls.getElementsByTagName("li")[0].getElementsByTagName("a")[0]":
alert(target.nodeValue);
break;case "uls.getElementsByTagName("li")[1].getElementsByTagName("a")[0]":
alert(target.nodeValue);
break;case "uls.getElementsByTagName("li")[2].getElementsByTagName("a")[0]":
alert(target.nodeValue);
break;}
});