24

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

谷歌搜索结果让我进入了对于新手来说太复杂无法理解的讨论网站。

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

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

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

如果有人可以帮助我了解它的用途,我将不胜感激。

4

3 回答 3

28

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

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

于 2013-10-27T12:27:23.407 回答
2

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

来源:jQuery 事件对象

在您的示例中,事件clipboardData的属性是通过.pasteevent.originalEvent

于 2013-10-27T12:18:14.153 回答
2

嗯...originalEvent据我所知,它不是直接来自 javascript。它是由浏览器触发的。Jquery 包装了更多属性,来自浏览器的原始事件被包装在originalEvent. 这是我从 jquery 网站找到的。

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

于 2013-10-27T12:20:41.927 回答