请教js高手 新建的元素能不能邦定事件
按照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




