自知其无知
不懂,慢慢懂。
posts - 2,comments - 2,trackbacks - 0
FROM: http://topic.csdn.net/u/20081015/00/a4588ce0-5c8d-4684-b8fb-a41a3975dc8b.html

我的任务是这样的
<table>
<tr>
<td>要获取的内容</td>
<td><href=javascript:getcontent()>点击获取</a></td>
</tr>
</table>

<script language="javascript">
var curNode = document.elementFromPoint(event.x,event.y);
alert ( curNode.parentElement.parentElement.firstChild.innerText);
</script>

这个程序很简单的了。就是点击的时候获取上一个目录里面的内容。

当我点击的时候,却提示我 “Error:缺少对象”。请高手解释一下,如何获得当前位置,希望能在ie和firefox中都通过。


我知道迅雷右键菜单中用到了

        var srcEvent = external.menuArguments.event;
var EventElement;

if(typeof(srcEvent.clientX) == "undefined")
{
EventElement = external.menuArguments.document.elementFromPoint ( srcEvent.pointerX, srcEvent.pointerY );
}
else
{
EventElement = external.menuArguments.document.elementFromPoint ( srcEvent.clientX, srcEvent.clientY );
}

来获取右键菜单的位置,但是我不知道如何左键该如何做,谢谢大家。


答案:
var curNode = document.activeElement

真正准确的答案:
以下可以获取:
<table>
    
<tr>
        
<td>要获取的内容</td>
        
<td><onclick=javascript:getcontent()>点击获取</a></td>
    
</tr>
</table>

<script language="javascript">
function getcontent(){
var curNode = document.elementFromPoint(event.x,event.y);
alert ( curNode.parentElement.parentElement.firstChild.innerText);
}

</script>

以下不能获取:

<table>
    
<tr>
        
<td>要获取的内容</td>
        
<td><href=javascript:getcontent()>点击获取</a></td>
    
</tr>
</table>

<script language="javascript">
function getcontent(){
var curNode = document.elementFromPoint(event.x,event.y);
alert ( curNode.parentElement.parentElement.firstChild.innerText);
}

</script>

两者的区别在于,第一个用的是 onclick ,第二个用的是 href .

楼上的老大告诉一下为什么啊



都是调用 JS 函数,区别咋这么大呢?

我自己测试了一下。
也就是楼主的疑问,说为什么用 href 就不能获得正确的结果,而 onclick 确实可以的?
呵呵。。我就对事件源进行 alert(e); 果然不出所料, href 的时候, alert(e) ;  //output "null"
也就是说 href 并没有产生是事件,而你用 onclick 就是产生了 click 事件。!

posted on 2008-12-18 09:30 CopyHoo 阅读(1227) 评论(0)  编辑  收藏 所属分类: JavaScript

只有注册用户登录后才能发表评论。


网站导航: