首页 新闻 搜索 专区 学院

文本节点可以接收事件吗,例如onclick事件

0
悬赏园豆:30 [已解决问题] 解决于 2009-06-17 21:46

...

var otext=document.getElementById("ediv").firstChild;
otext.onclick=function(){alert('text');};

...

<div id="ediv">Click Me</div>

 

例如上面代码,单击文本并不会发生onclick事件,我在IE、Firefox、Opera试过都是这样。网上都说可以触发,但却没有实际例子,大家有代码例子吗?

Tuwi的主页 Tuwi | 初学一级 | 园豆:0
提问于:2009-06-03 22:32
< >
分享
最佳答案
0

试试下面这个例子,也许是你想要的。

<html>
<head>
    <title>无标题页</title>
    <script type="text/javascript">
    window.onload=function(){
        document.getElementById("ediv").onclick=function(){ alert("You Clicked me!!");};
    }
    </script>
</head>
<body>
    <div id="ediv" style="width:200px;height:200px;cursor:pointer;background-color:Red;">Click Me</div>
</body>
</html>

你说的文本节点指的是"Click Me",但是你给的问题是div的事件,文本节点只是文本,没有什么事件,要依靠类似于<b> </b>, <font></font>,<p></P>等标签来设置其样式。

另外注意上面的window.onload();当页面加载完毕后执行该方法。那段js的执行必须在名称为"ediv"的标签加载完后才正确。所以“document.getElementById("ediv").onclick=function(){ alert("You Clicked me!!");};”也可以放到名称为"ediv"的div标签后面而不需要使用window.onload()。

MartinGao | 小虾三级 |园豆:663 | 2009-06-03 23:46
其他回答(3)
0

用Jquery实现,先在<head>中引入 <script type="text/javascript" src="../../Scripts/jquery-1.3.2.js"></script>

接下来代码如下::

<script type="text/javascript">
    $(document).ready(function(){

    $("#ediv").click(function(){
       alert("Click Me");    
   });
   })
</script>

    <div id="ediv">Click Me</div>

仔仔2009 | 园豆:158 (初学一级) | 2009-06-04 08:55
0

 重新添加一个属性,如果没有的话。

Frank Xu Lei | 园豆:1860 (小虾三级) | 2009-06-11 21:59
0

window.onload = function(){

  var otext=document.getElementById("ediv").firstChild;
  otext.onclick=function(){alert('text');}

}

<input type="button" id="ediv"/>

周您想 | 园豆:202 (菜鸟二级) | 2013-06-11 17:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册