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

...

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

...

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

 

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

慕妹3146593
浏览 643回答 4
4回答

湖上湖

试试下面这个例子,也许是你想要的。 <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()。

慕尼黑8549860

用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>

aluckdog

window.onload = function(){   var otext=document.getElementById("ediv").firstChild;  otext.onclick=function(){alert('text');} } <input type="button" id="ediv"/>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript