CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

请教js高手 新建的元素能不能邦定事件

楼主jwwu(开始懂了)2004-11-03 00:08:34 在 Web 开发 / JavaScript 提问

按照DOM的思想在一个html文档里面  
  我建了一个元素叫  
  <A1   id="a1">  
  </A1>  
  用getElementById的方法可以找到A1这个节点  
  但是对这个节点邦定事件却无效  
  o=document.getElementById("a1");  
  o.attachEvent("onclick",a);  
   
  请问高手能不能给A1一个click事件呢?  
  问题点数:50、回复次数:13Top

1 楼ttyp(@http://www.cnblogs.com/ttyp/)回复于 2004-11-03 00:15:34 得分 20

<BODY>  
  <SCRIPT   LANGUAGE="JavaScript">  
  <!--  
  var   a   =   document.createElement("a");  
  a.href   =   "#";  
  a.innerText   =   "new";  
  document.body.appendChild(a);  
  //a.onclick   =   function()   {alert('hello');}  
  a.attachEvent("onclick",function()   {alert('hello');});  
  //-->  
  </SCRIPT>  
  </BODY>Top

2 楼ib915(韦奇)回复于 2004-11-03 08:49:54 得分 10

create   A1   Element  
  <hr>  
  <SPAN   ID="oData"></SPAN>  
   
  <SCRIPT>  
  oData.innerHTML="";  
  var   aElement=document.createElement("A1");  
  eval("aElement.innerText='click   me'");  
  aElement.attachEvent("onclick",clickme);  
  oData.appendChild(aElement);  
  function   clickme()  
  {  
  alert("just   a   test!");  
  }  
  </SCRIPT>Top

3 楼jwwu(开始懂了)回复于 2004-11-03 09:41:27 得分 0

为什么非要动态创建A1元素  
  直接写在html文档里面为什么邦定事件就不能成功?Top

4 楼ttyp(@http://www.cnblogs.com/ttyp/)回复于 2004-11-03 09:50:57 得分 0

晕,你是新建立的元素啊,新建立的元素本来没预定义onclick事件,其实你定义的是它的一个函数,只是找不到触发点而已,所以没有onclick事件Top

5 楼ttyp(@http://www.cnblogs.com/ttyp/)回复于 2004-11-03 09:52:29 得分 0

新建立的元素也就相当于新建立的类吧  
   
  <A1   id="a11">new  
  </A1>  
   
  <script   language="JavaScript">  
  <!--  
  o=document.getElementById("a11");  
  o.onclick   =   function()   {alert('');}  
   
  o.onclick();  
  //-->  
  </script>  
  Top

6 楼jwwu(开始懂了)回复于 2004-11-03 10:01:15 得分 0

但是我确实需要在click的时候触发它一下  
  也不能动态创建  
  一个静态的页面写死  
  有什么好办法吗?  
  Top

7 楼tony1978(突击召唤师)回复于 2004-11-03 10:19:26 得分 5

Mission   Impossible.  
  用别的东西包起来,或者包别的东西。Top

8 楼ttyp(@http://www.cnblogs.com/ttyp/)回复于 2004-11-03 10:25:12 得分 0

HTML的元素还不够用么?  
  <A   id="a1"></A>  
  Top

9 楼tooogoooo(铁棒磨成针)回复于 2004-11-03 10:29:43 得分 0

是原来就已经创建好的控件a1,现在要动态给这个控件加onclick事件?Top

10 楼jwwu(开始懂了)回复于 2004-11-03 10:34:00 得分 0

需求是这样的  
  对于一个完整的页面它可能include很多这样的代码  
  <!--#include   virtual="xxxxx.htm"   -->  
  我想在它之前加上一个元素  
  <A1>  
  <!--#include   virtual="xxxxx.htm"   -->  
  </A1>  
  click   A1便于定位xxxxx.htm  
  因为感觉A1是自定义的元素可能不会影响xxxxx.htm里面的样式  
  不知道有没有其他的元素可以完成这样的功能Top

11 楼ttyp(@http://www.cnblogs.com/ttyp/)回复于 2004-11-03 10:41:01 得分 0

divTop

12 楼ib915(韦奇)回复于 2004-11-03 11:51:36 得分 10

用嵌套  
   
  <span   onclick="alert('hello!');">  
  <A1   id="a1">  
  adfasdfadsfasdf  
  </A1>  
  </span>  
  ===========  
  or  
  ===========  
  <div   onclick="alert('hello!');">  
  <A1   id="a1">  
  <table>  
  …………  
  </table>  
  </A1>  
  </div>  
  Top

13 楼snakegod(蛇姬)回复于 2004-11-03 17:02:38 得分 5

var   img=document.createElement("<IMG>");  
  img.src="...";  
  document.body.insertBefore(img);  
  img.onclick=function(){  
  alert('aaaa');  
  }Top

相关问题

  • js 事件
  • 用js生成html元素?
  • 如何新建元素为ref的哦bject[]?
  • html元素中哪些有onload事件?
  • 怎样获得触发事件的元素的上层元素
  • 如和用js改变一个元素的class,求js语句
  • ····新建一个TMenuItem,如何设置他的OnClick事件?
  • 如何用脚本触发<select>元素的点击事件?
  • TWebBrowser 激活页面元素button onmousedonw事件
  • 在netscape中的元素的resize事件问题

关键词

得分解答快速导航

  • 帖主:jwwu
  • ttyp
  • ib915
  • tony1978
  • ib915
  • snakegod

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo