html dom Event对象的文档?

时间:2012-05-17 13:39:18

标签: html events dom

有人能指出我对html Event对象的文档吗?


奖金阅读

我知道全局Event对象存在的唯一原因是因为它在a Stackoverflow answer中提到过:

onclick="SomeEvent(this, event)"

function SomeEvent( el, event ) {
    var target = event.srcElement || event.target;

    if( el === target ) {
        // run your code
    }
}

它似乎具有以下属性:

  • srcElement
  • target

在Google上搜索我在HTML DOM Event object找到W3学校的页面,其中列出了以下属性

  • bubbles:返回事件是否为冒泡事件
  • cancelable:返回事件是否可以阻止其默认操作
  • currentTarget:返回其事件侦听器触发事件​​的元素
  • eventPhase:返回当前正在评估事件流的哪个阶段
  • target返回触发事件的元素
  • timeStamp返回创建事件的时间(相对于纪元的毫秒数) - type返回事件的名称

方法

  • initEvent():指定事件类型,事件是否可以冒泡,是否可以阻止事件的默认操作
  • preventDefault():如果事件可取消,则取消该事件,这意味着该事件通常不会发生任何默认操作
  • stopPropagation():防止在事件流程中进一步传播事件

缺少srcElement,因此可以说它不是完整的文档。


然后是微软的page on the event object。它没有任何文件;只提到对象。但确实提到了:

  

某些属性在某些事件中可能没有有意义的值。例如,fromElementtoElement属性

W3Schools页面未提及fromElementtoElement属性;所以它还不完整。

MSDN页面引用了指向W3C的链接:

  

标准信息

     

Document Object Model (DOM) Level 2 HTML Specification,第1.6.5节

搜索页面未提及fromElementtoElement

那么有人能指出我对html Event对象的文档吗?

2 个答案:

答案 0 :(得分:1)

MDN网站提供了非常可靠的信息:https://developer.mozilla.org/en/DOM/event。你的event.toElement属性是一个非标准的微软的东西,快速测试显示Firefox中的属性为undefined

<body onclick="alert(event.srcElement)">Click

要使用的正确属性是target。另请注意,event 不是全局,它只是一个局部变量。建议您使用addEventListener添加DOM事件,如MDN页面中所述。

quirksmode.org有很好的关于浏览器兼容性的表格。

W3schools ......好http://w3fools.com

由于您想了解有关IE特定srcElement属性的更多信息,请参阅Microsofts文档。来自srcElement property

  

获取最初分派事件的元素。与target比较。

     

说明

     

注意提供srcElement属性是为了向后兼容。请改用目标属性。

答案 1 :(得分:0)

Javascript本身只是一个概念。它融合了不同的方言,如Jscript&amp; Gecko Javascript。现在不同的浏览器对Javascript的处理方式不同,因此互联网上存在大量不同的文档。

现在谈论这些事件:

  • IE有两个事件模型
  • Mozilla和Safari两个不同的
  • Opera有三个

然后是兼容性:

  • IE DOM0事件模型与每个其他浏览器的DOM0事件模型的工作方式不同
  • IE专有的attachEvent事件模型(也受Opera支持)与W3C DOM2事件模型不同
  • Mozilla,Safari和Opera支持W3C DOM2活动
  • 与其他三个相比,Event对象在IE中具有非常不同的属性集,与您正在讨论的事件模型无关。

事实上,无论您正在谈论哪些事件模型,您都会发现各个方面的所有四个主要浏览器之间存在差异。这就是为什么你没有找到事件对象的特定全局文档。