自知其無知
          不懂,慢慢懂。
          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 閱讀(1241) 評論(0)  編輯  收藏 所屬分類: JavaScript
          主站蜘蛛池模板: 甘谷县| 洮南市| 临泉县| 自贡市| 内乡县| 嘉祥县| 临沧市| 嫩江县| 通山县| 尼玛县| 皮山县| 宝清县| 淅川县| 鹤峰县| 郸城县| 乐业县| 新密市| 张家港市| 襄樊市| 驻马店市| 武宁县| 安平县| 托里县| 和平县| 漯河市| 彰化县| 平顶山市| 扎鲁特旗| 旺苍县| 桦南县| 百色市| 武清区| 黎川县| 四川省| 瓦房店市| 西充县| 左贡县| 肃北| 石家庄市| 镶黄旗| 民和|