日期:2014-05-16  浏览次数:20411 次

取得鼠标所在位置的Dom对象,并在该对象内插入1个DIV,该DIV位置跟鼠标位置一致
鼠标点击的时候,取得鼠标所在位置的Dom对象,并在该对象内插入1个DIV,该DIV位置跟鼠标位置一致,该DIV内写一个字"Good"
最好各种浏览器都能兼容,

要求不能在html里修改任何代码,

直接在</body>前插入一个js,实现这个功能

------解决方案--------------------
<script type="text/javascript">
function init(){
var a=document.getElementsByTagName("*");
for(var i=0;i<a.length;i++){
a[i].onclick=add;
}
}
function add(e){
var k=e
------解决方案--------------------
window.event;
var a=document.createElement("div");
var x=k.clientX;
var y=k.clientY;
a.style.position="absolute";
a.style.left=x;
a.style.top=y;
a.innerHTML="Good";
this.appendChild(a);
}
window.onload=init;
</script>
</head>

<body>
<div style="width:400px;height:200px;background-color:#F00;float:right"></div>
<div style="width:400px; height:200px; background-color:#F00"></div>
<div style="width:400px; height:200px; background-color:#F00;float:right"></div>
<input type="button">
<input type="text">
<textarea></textarea>
</body>
这样试试  
------解决方案--------------------
我简单写一个

  <script type="text/javascript" src="jquery-1.6.4.min.js" ></script>
    <script type="text/javascript" >
        $(document).ready(function() {
            $(this).click(function(e) {
                $(e.target).append("<span class='span1'>[newspan]</span>");      
            });
        })  
    </script>

如果要完善的话,要处理那些不能增加子元素的元素,比如input select hr 什么的,
而且对于可加子元素的节点,还应该创造textrange,以在光标位置处增加。