<html>
<body>
<div id="xxx"></div><script>
function delinput(obj){
alert(obj.tagName);
}
function abc(){
delinput(document.getElementById("delThisDate"));
}
var divObj = document.getElementById("xxx");
var delObj = document.createElement("a");
delObj.id = "delThisDate";
delObj.innerHTML= '[删除]';
divObj.appendChild(delObj);
delObj.onclick = abc;
</script>
</body></html>

解决方案 »

  1.   

    delObj.onclick = new Function("delinput(this)");
      

  2.   

    attachEvent("onclick",fun);addEventListener("click",fun)onclick=fun;
      

  3.   

    谢谢各位热心的老师:)
    我是用cuixiping(无心●愚公) 的方法解决问题的,不过能给讲一下其中的道理吗?
      

  4.   

    javascript 里不只是值做为对象的属性,事件,方法都是对象的属性,
    你参照的方法只不过是把一个方法赋给了对象的一个属性
      

  5.   

    把new Function("delinput(this)")赋给了delObj的属性onclick 吗?
    不过Function是一个类了吧?它的一个参数是一个函数,还是一个字符串?为什么参数要用引号括起来??
    对其中的道理还是很模糊,恳请指教!
      

  6.   

    new Function()new 出来的不就是一个对象了么,把一个对象赋值给一个属性,不是很合理么在javascript里,不要把Function看成函数,看成对象就好理解多了你在写Function()时不是可以在圆括号里放参数么,上面的参数就是另一个function
      

  7.   

    new出来的是对象,不是函数。
    注意Function与function的区别。上面代码的意思就是:把一个Function对象赋值给delObj对象的onclick属性。new Function("...."); 这样的语法在js里面是常见的,比如
    new RegExp("...","...")
    new ActiveXObject("......")
    new Date(y,m,d)
    new Array("a","b","c")
    如果你还是不明白,建议阅读jscript/javascript参考手册,网上很多。