有人可以帮我理解JavaScript中originalEvent
的使用吗?我真的找不到关于它的良好文档来源。
谷歌的结果让我进入了一个对新手来说太难理解的讨论网站。
我最近在SO中有一个问题,一个人通过添加这行代码来回答它
$("#url").bind('paste', function(e) {
var val = e.originalEvent.clipboardData.getData('text/plain');
....
到我的现有代码,它工作顺便说一句。
如果有人能帮我理解它的使用,我将不胜感激。
答案 0 :(得分:19)
您正在使用名为jQuery的JavaScript库,这是$()函数的来源。 jQuery包含了JavaScript的几个部分,使其更易于使用。其中一个部分是事件处理。在您的示例中,因为您使用jQuery绑定到粘贴事件,所以传递给回调(e)的对象是jQuery event object,而不是内置的JavaScript事件对象。 jQuery事件对象公开originalEvent
属性,以便您访问底层的内置事件对象。
在您的示例中,您需要获取剪贴板数据,这是通过jQuery事件对象无法访问的,因此您需要访问原始事件对象才能获取它。
答案 1 :(得分:2)
某些事件可能具有特定于它们的属性。 这些可以作为event.originalEvent对象的属性进行访问。
在您的示例中,paste
event的clipboardData
属性可通过event.originalEvent
访问。
答案 2 :(得分:0)
嗯......根据我的知识,originalEvent
并非直接来自javascript。它是由浏览器触发的那个。 Jquery包含更多属性,浏览器中的原始事件包含在originalEvent
中。这是我从jquery网站找到的。
“同样重要的是要注意事件对象包含一个名为originalEvent的属性,它是浏览器自己创建的事件对象.jQuery用一些有用的方法和属性包装这个本机事件对象,但在某些情况下,你'例如,我需要通过event.originalEvent访问原始事件。这对移动设备和平板电脑上的触摸事件特别有用。“