日期:2014-05-16  浏览次数:20366 次

怎么将带参数的函数绑定到某个页面组件的点击事件上?
比如有一个函数:
function test(object){
  var tag = obj.firstChild.tagName;
  ....
}

而页面上有一个div
<div id="XXdiv"> XXXX</div>

现在将函数绑定到div上的格式如下:
<div id="XXdiv" onclick="text(this)"> XXXX</div>


由于div众多,这样行为和结构混在一起的形式搞的页面难看而不好维护,因此我想在window_onload或者body_onload中设定事件绑定。

但不知道这种带参数的函数的函数如何绑定到页面组件上,请问大家该如何处理?

------解决方案--------------------
HTML code

<div>sdgsdgo</div>
<div>tert</div>
<div>wsgs</div>
<div>tert</div>
 
<script type="text/javascript">
    var odivs = document.getElementsByTagName("DIV");
    for (var i = 0; i < odivs.length; i++) {
        odivs[i].onclick = function() {
            alert(this.innerHTML);
        }
     }

------解决方案--------------------
遍历dom,给dom添加click
HTML code

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="gb2312" />
        <title></title>    
        <style>
        </style>        

    </head>
    <body>
        <div>123</div>
        <div>123</div>
        <div>123</div>
        <div>123</div>
        <script>
            
            function test(object){
              var tag = object.firstChild.tagName;
              alert(tag)
            }
            var obj = document.getElementsByTagName('div');
            for(var i = 0, len = obj.length; i < len; i++){
                obj[i].onclick = function(){
                    test(this)
                }
            }
            
        </script>
    </body>
</html>