假设我有一个按钮 上面的 有个onclick事件
<input type="button" onclick="fn1(this,'3')" />
现在 我要实现的是。在javascipt里。直接使这个按钮 调用 fn1()这个 事件。
但有个问题。 不能 直接说我直接调用fn1()就行了。因为里面有参数。
有人也许会说简单 我把你拿个按钮写进去。再写个参数3 不就和那个按钮调用的事件参数一样了吗。
这样也不行。因为我有很多 个这样的按钮 里面的参数都是不一样的。
有没有办法 就是控制这个按钮 直接调用它本身的 这个onclick事件 并且里面的参数 就是本身这个 元素上的 写好的参数? 

解决方案 »

  1.   

    <input type="button" onclick="fn1(this,'1')" value="按钮1" />
    <input type="button" onclick="fn1(this,'2')" value="按钮2" />
    <input type="button" onclick="fn1(this,'3')" value="按钮3" />
    <input type="button" onclick="fn1(this,'n')" value="按钮n" />
    <hr/>
    <button type="button" onclick="fun(1)">激活1</button>
    <button type="button" onclick="fun(2)">激活2</button>
    <button type="button" onclick="fun(3)">激活3</button>
    <button type="button" onclick="fun(n)">激活n</button>
    <button type="button" onclick="fun(0)">激活所有</button>
    <script type="text/javascript">
    function fn1(obj,n){
        alert("您调用了第"+n+"个按钮!");
    }
    function fun(i){
        if(i==0){
            var input=document.getElementsByTagName("input");
            for(var n=0;n<input.length;n++){
                document.getElementsByTagName("input")[n].onclick();
            }
        }else{
            document.getElementsByTagName("input")[i-1].onclick();
        }
    }
    </script>