代码改变世界

有关document.createElement()中onclick()的设置问题

2013-08-27 22:55  杨泽川  阅读(3381)  评论(0编辑  收藏  举报

这次实现模块的时候,遇到一些问题,需要用创建元素来实现:

document.createElement()

遇到一个比较棘手的问题就是关于新建对象的onClick属性如何设置

一开始代码如下:

  1. function appendText()
  2. {
  3.    var txt3=document.createElement("input"); // 以 DOM 创建新元素
  4.    txt3.type="button";
  5.    txt3.value="tianjia";
  6.    txt3.onclick="alert('nihao')";
  7.    $("p").append(txt1,txt2,txt3); // 追加新元素
  8. }
  9. </script>

我天真的以为会蹦出一个对话框跟我说nihao。结果没有

后来想在网上搜,没搜到什么。于是在逛论坛的时候遇到一丝线索:

可以用两种方法:

  1. //这是第一种方法
  2. txt3.onclick=new Function("alert('nihao')")//这里的new可要可不要
  3. //这是第二种方法
  4. txt3.setAttribute("onclick", "javascript:alert('nihao');");

以上就能实现在新插入的对象中实现onclick事件