了解JavaScript源事件

了解JavaScript源事件,javascript,jquery,Javascript,Jquery,有人能帮我理解JavaScript中的originalEvent的用法吗?我真的找不到关于它的好的文档来源 谷歌搜索结果让我找到了对新手来说太复杂而难以理解的讨论网站 我最近在SO中遇到了一个问题,一个人通过添加这行代码回答了这个问题 $("#url").bind('paste', function(e) { var val = e.originalEvent.clipboardData.getData('text/plain'); .... 到我现有的代码,顺便说一句 如果有人能帮

有人能帮我理解JavaScript中的
originalEvent
的用法吗?我真的找不到关于它的好的文档来源

谷歌搜索结果让我找到了对新手来说太复杂而难以理解的讨论网站

我最近在SO中遇到了一个问题,一个人通过添加这行代码回答了这个问题

$("#url").bind('paste', function(e) {
    var val = e.originalEvent.clipboardData.getData('text/plain');
 ....
到我现有的代码,顺便说一句

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

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

资料来源:


在您的示例中,的
clipboardData
属性是通过
事件访问的。据我所知,
originalEvent
不是直接从javascript访问的。它是由浏览器触发的。Jquery包装了更多属性,来自浏览器的原始事件包装在
originalEvent
中。以下是我在jquery网站上找到的内容


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

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


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

请参见
originalEvent
不是JavaScript的东西,而是。我添加了
jQuery
标记。好的,因为我试图理解并将其与我的代码关联起来。您的意思是如果说我需要在我的
粘贴
事件中访问某种类型的属性,那么使用
originalEvent?
是的。我在回答的末尾添加了一句关于这一点的话。jQuery将浏览器事件包装到一个提供通用事件属性的事件对象中,但有时需要访问特殊属性,如pas粘贴事件中的ted数据。一些背景。我需要捕获粘贴的数据,因此粘贴
paste
事件。但是为什么只需要
originalEvent
来获取数据。为什么不能只使用一个简单的
var val=$(“#url”).val()
work?我的情况下为什么需要它?什么是#url,你想实现什么?这是一个输入字段,我需要捕获一个youtube链接,解析它,通过regex获取youtube id,然后简单地打印它。我现在无法测试它,但我认为粘贴事件是在更新目标值之前触发的,所以如果调用$(“#url”).val()在事件处理程序中,您将在粘贴发生之前获得该值。