网页上有200多个链接,想每个连接被点击的时候都先执行js,执行完js后在打开连接,
想了个办法用 
<a onclick="toseh();" href="http://www.*****.com/">点击这里 </a>
但是200多个连接都要修改,太麻烦,能否定义到css中?或者有没有其他的办法啊?

解决方案 »

  1.   

    是执行同一个方法吗?可以不点击事件绑定到body 上document.body.onclick=function(e){
    e=e||event;
    e=e.srcElement || e.target;
    if(e.tagName.toLowerCase()=='a')
            {alert("点击了:"+e.innerHTML);}
    };
      

  2.   

    <a onclick="toseh();" href="http://www.*****.com/">点击这里 </a>
    你这个链接是执行onclick的时候一起打开页面。。没办法点击执行事件后再打开链接。
    如果要这样做就得把所有的href改成href="javascript:toseh(url);",,而且把url传进去就可以onclick去掉
      

  3.   

    JQuery --$("a").attr("onclick", "toseh()");
      

  4.   

    by theforever(碧海情天):1,3楼都可以。
    但如果只是这一个地方的话,从效率上说,直接用三四行的JS比引用几十K的JQ库好些。原理就是取A集合,绑定事件。这里视实际情况,可能要处理的细节多一些,比如可能并不是onclick,而是onmouseover,并在onmouseover的事件里改变href,等等。不过这不是我真正想补充的重点,所以不细说了。我想补充的是另外一个完全不同的方法:
    <a href="想要执行的JS.js?toUrl=本链接的目标地址">显示标题</a>
    在要执行的JS里,先执行完要执行的代码,然后取到传递的目标地址,改写location.href就可以了。这个只作为另外的一个思路补充一下而已,并不推荐,所以细节也不写了。因为有些浏览器可能默认禁止JS跳转页面地址,或者用户看到有这个选项可以设置时一般也会出于安全心理而选择禁止。by theforever(赵亮,碧海情天,断水寒刀)(因为把函数名称命名为我的ID,影响代码阅读性,并且容易以讹传讹,让一些人无意中改得不堪入目。因此改为签名)