<script>
function function1(i)
{
alert('函数原型:' + arguments.callee);
alert('实参数:' + arguments.length);

for(var s = 0; s < arguments.length; s++){
alert(arguments[s]);
}
}
</script><form>
  <input id="ck1" type="checkbox" onclick="function1('fuc1')"> 
</form>

解决方案 »

  1.   

    谢谢mrsun的回复。但你是在调用的方法中来获得名称和参数的,即当onclick事件触发的时候来处理的。
    而我的需求是通过一段脚本来分析该控件的onclick事件所调用的方法名和参数。如:
    function showFuncNameAndPara(){
        el = document.getElementById("ck1");
        alert(el.onclick)//结果是...function anonymous  {function1(func1)} ;
        //如何在这里获取el的conlcik事件所调用的方法名和参数?
        //注:typeof(el.conclik)是"function"
    }
      

  2.   

    <input   id= "ck1 "   type= "checkbox "   onclick= "function1( 'fuc1 ') ">  
    <script language="javascript">
    alert(document.getElementById( "ck1 ").onclick.toString().replace(/^.*?\{([^\}]*?)\}/,"$1"));</script>继续取
      

  3.   

    <HTML>
     <HEAD>
      <TITLE></TITLE>
      <SCRIPT LANGUAGE="javascript"> 
    function test()
    {

    for (var i=0;i<arguments.length; i++ )
    {
    alert(arguments[i]);
    } alert(this.document.getElementById('b1').attributes["onclick"].nodeName);
    alert(this.document.getElementById('b1').attributes["onclick"].nodeValue);
    }
    </SCRIPT>
     </HEAD> <BODY><input name="b1" id="b1" type="button" value="测试一下" onclick="test('ok',1,2,3)">
     </BODY>
    </HTML>
      

  4.   

    利用arguments可以解决没必要搞那么复杂
      

  5.   

    看来大家的意见比较一致:字符串截取
    但mingxuan3000给出的正则替换似乎没起作用?
    除了字符串操作希望能有更好的办法
      

  6.   

    jackhuclan的
      alert(this.document.getElementById( 'b1 ').attributes[ "onclick "].nodeValue); 
    方法是一个不错的办法,可以不用截取字符串操作,但有一个问题,方法中传递的参数值如何获取?
    因为我希望的操作不是在这个onclick事件调用的时候去做,而是在其它的方法中去分析这个element
    的onclick事件中调用的方法和参数。现在用这个办法可以很容易的取到它的方法名,参数呢?是否
    也有一个不错的办法来获得,需保证即便传递的参数是对象类型也能轻易的得到!
      谢谢大家 !
      

  7.   

    没起作用?我测试好的
    alert结果为 function1( "fuc1 ")
    你在处理下就得到function1和fuc1 
      

  8.   

    你运行一下我的代码。
    for   (var   i=0;i <arguments.length;   i++   ) 

    alert(arguments[i]); 
    } 这个循环可以取出每个参数,你可以赋值给其他的,或调用其他函数没关系的。你再试试!
      

  9.   

    form_proc.BtnPerson_lead.item(j).attributes["onclick"].nodeValue = "choosePerson('f_CURR_PERSON_lead','f_CURR_PERSON_NAME_lead', "+newid+")";form_proc.BtnPerson_lead.item(j)的click值设好后,点击该按钮没反应了