理解JavaScript originalEvent

时间:2013-10-27 12:14:33

标签: javascript jquery

有人可以帮我理解JavaScript中originalEvent的使用吗?我真的找不到关于它的良好文档来源。

谷歌的结果让我进入了一个对新手来说太难理解的讨论网站。

我最近在SO中有一个问题,一个人通过添加这行代码来回答它

$("#url").bind('paste', function(e) {
    var val = e.originalEvent.clipboardData.getData('text/plain');
 ....

到我的现有代码,它工作顺便说一句。

如果有人能帮我理解它的使用,我将不胜感激。

3 个答案:

答案 0 :(得分:19)

您正在使用名为jQuery的JavaScript库,这是$()函数的来源。 jQuery包含了JavaScript的几个部分,使其更易于使用。其中一个部分是事件处理。在您的示例中,因为您使用jQuery绑定到粘贴事件,所以传递给回调(e)的对象是jQuery event object,而不是内置的JavaScript事件对象。 jQuery事件对象公开originalEvent属性,以便您访问底层的内置事件对象。

在您的示例中,您需要获取剪贴板数据,这是通过jQuery事件对象无法访问的,因此您需要访问原始事件对象才能获取它。

答案 1 :(得分:2)

  

某些事件可能具有特定于它们的属性。       这些可以作为event.originalEvent对象的属性进行访问。

来源:jQuery Event object

在您的示例中,paste eventclipboardData属性可通过event.originalEvent访问。

答案 2 :(得分:0)

嗯......根据我的知识,originalEvent并非直接来自javascript。它是由浏览器触发的那个。 Jquery包含更多属性,浏览器中的原始事件包含在originalEvent中。这是我从jquery网站找到的。

“同样重要的是要注意事件对象包含一个名为originalEvent的属性,它是浏览器自己创建的事件对象.jQuery用一些有用的方法和属性包装这个本机事件对象,但在某些情况下,你'例如,我需要通过event.originalEvent访问原始事件。这对移动设备和平板电脑上的触摸事件特别有用。“