首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未定义的TypeError:无法读取未定义的属性“getData”

未定义的TypeError:无法读取未定义的属性“getData”
EN

Stack Overflow用户
提问于 2017-01-16 16:32:14
回答 2查看 16.8K关注 0票数 3

我试图处理粘贴事件,并试图将富文本转换为纯文本,在一个带有id main的容器中有一个内容可编辑(动态创建) div。

代码语言:javascript
运行
复制
$("#main").on("paste","div",function(event){
  event.preventDefault();
  var clipboarddata =  event.clipboardData ||window.clipboardData || event.originalEvent.clipboardData;                  
  var onlytext = clipboarddata.getData('text/plain');
  document.execCommand("insertHTML", false, onlytext);
});

未定义的TypeError:无法读取未定义的属性“getData”

我认为event.clipboarddata不起作用,我的浏览器支持剪贴板API。我正在复制文本并将其粘贴到div中。所以剪贴板应该有价值

有人能解释一下为什么我的clipboardData没有定义吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-16 16:40:28

对于最新的浏览器,Chrome将在线下工作。

代码语言:javascript
运行
复制
var clipboarddata = window.event.clipboardData.getData('text');

代码语言:javascript
运行
复制
$(document).ready(function(){

 $("#main").on("paste",function(event){
      event.preventDefault();
      var clipboarddata =  window.event.clipboardData.getData('text');    
      console.log("paste value" + clipboarddata);
      $('#pasteData').text(clipboarddata);
    });
    
});
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="main" name="first_name" value="" maxlength="100" />
<div>paste value :  <span id="pasteData"><span></div>

票数 2
EN

Stack Overflow用户

发布于 2017-01-16 16:43:08

注意:这是为什么要获得错误。修复错误是另一回事,需要您提供更多信息。

获得错误的原因是,当您在变量赋值上使用OR运算符时,它总是会分配最后一个值,即使它是nullfalseundefined

基本上,是这样的

代码语言:javascript
运行
复制
if (event.clipboardData != null/false/undefined) { //ignore the incorrectness of the truncation
  var clipboarddata = event.clipboardData;
} else if (window.clipboardData != null/false/undefined) {
  var clipboarddata = window.clipboardData;
} else { //default to the last option even if it is null/false/undefined
  var clipboarddata = event.originalEvent.clipboardData;
}

因此,由于这三个变量都是undefined,所以您将得到event.originalEvent.clipboardData的值,该值是分配给变量的undefined。因此下一行出现了错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41680895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档