如果我添加 pageX 页面 Y 在 IE8 中不起作用<!文档类型 html>.

pageX pageY not working in IE8 if i add <!DOCTYPE html>

本文关键字:文档 html 类型 不起作用 pageX 添加 页面 IE8 如果      更新时间:2023-11-26

嘿伙计们,我有以下脚本,当我移动鼠标时,它给了我光标位置。这个脚本在Chrome,FF甚至IE 8中都可以正常工作(没有!doctype html(

如果添加 !DOCTYPE html 到 html 页面。它给了我对象不支持此属性错误。下面给定的行导致问题

document.captureEvents(Event.MOUSEMOVE(;

我怎样才能解决这个问题!IE 8 中包含的 DOCTYPE html

window.onload = init;
    function init() {
   if (window.Event) {
    document.captureEvents(Event.MOUSEMOVE);
   }
  document.onmousemove = getCursorXY;
    }
  function getCursorXY(e) {
      document.getElementById('cursorX').value = (window.Event) ? e.pageX :   
         event.clientX + (document.documentElement.scrollLeft ?    
       document.documentElement.scrollLeft : document.body.scrollLeft);
     document.getElementById('cursorY').value = (window.Event) ? e.pageY : event.clientY  
   + (document.documentElement.scrollTop ? document.documentElement.scrollTop :    
    document.body.scrollTop);
    }

我假设您收到错误<!DOCTYPE html>因为 HTML5 的声明和 IE 8 将无法处理 HTML5。

你有没有考虑过切换到jQuery?它将具有实现相同目标所需的所有功能。

是的,IE9- 不支持。您可以从此链接检查这些类型的兼容性问题。http://quirksmode.org/compatibility.html

使用等

效于 W3C DOM 事件的 IE DOM 事件:

W3C DOM IE DOMclientX (pageX - pageXOffset(clientY (pageY - pageYOffset(偏移量X pageXOffset偏移量 Y 页面YOffset

并使用 W3C 作为默认 API 通过延迟计算进行切换:

 clientX || (pageX - pageXOffset);  

引用

  • IE 事件对象