比如
<span class="btn">test</span>
这样的标记有很多。怎样给所有的 class 为 btn 的标签添加 onclick 事件呢?又怎样在事件中区分是哪个标签引发的呢?难不能要循环一个个添加吗?以前在 ie 里面可以通过 .htc 文件实现,那么要实现各浏览器兼容,我该怎么做?谢谢!
<span class="btn">test</span>
这样的标记有很多。怎样给所有的 class 为 btn 的标签添加 onclick 事件呢?又怎样在事件中区分是哪个标签引发的呢?难不能要循环一个个添加吗?以前在 ie 里面可以通过 .htc 文件实现,那么要实现各浏览器兼容,我该怎么做?谢谢!
if(obj[i].className == 'btn')
obj[i].onclick = function(){
//
};
$('.btn').bind('click',function(event){
alert("我是单击事件");
//又怎样在事件中区分是哪个标签引发的呢?------>这个只能靠这个event事件对象了
})
Jquery 是怎么实现的这部分呢?您手边有它的代码吗?
<html>
<head>
<style>
</style>
<script>
function abc()
{
var objs=document.getElementsByTagName("*");
for(var i=0;i<objs.length;i++)
{
if(objs[i].className=="btn")
objs[i].onclick=function(e){
var e=e||window.event;
obj=e.target||e.srcElement;
alert(obj.id);
}
}
}
</script>
</head>
<body onload=abc()>
<div id="div1" class="btn">btn1</div>
<span id="span1" class="btn">btn2</span>
<div id="div2">学习<div id="div3" class="btn">btn3</div></div>
<input type="button" id="button1" value="btn4" class="btn"/>
</body>
</html>
兼容各主流浏览器。
getElementsByTagName 等实现的 。
那就是说,.htc 给 class 加事件的方式是没有直接替代的方法了?
谢谢!不过很可惜,同样 class 的标签很难都在一起。
嗯,我也是担心效率问题。
但是如果在足显元素中设置 onclick 的话,那么这个祖先元素中的其他元素也使用 onclick 该怎么办?