jQuery - 如何检测剪贴板内容是否已更改?

时间:2014-04-11 15:57:30

标签: javascript jquery html css

如果剪贴板内容发生了变化,有没有办法检测?我想检测最初复制和粘贴的文本的一部分是否来自聚焦/活动段落元素。 paragraph元素设置为contenteditable =“true”。

HTML

<p class="parent" contenteditable="true"> 

   Text that is first cut and then pasted 

</p>

3 个答案:

答案 0 :(得分:0)

首先不是剪贴板。第二件事你可以随时将值与keyup事件的初始值进行比较。一些代码是这样的:

$('p').keyup(function () {
  $(this).text() // or $(this).html();
}

现在,要么将值用作变量并将其与初始值进行比较,要记住,不能在段落元素上运行.val()。那不会为你做的工作。您需要获取所有HTML元素或元素的文本。

捕获粘贴/复制事件。您可以尝试以下代码:

$('p').bind('paste', function () {
  /* code here */
}

这将捕获粘贴事件。

答案 1 :(得分:0)

document.getElementByClassId("parentId").addEventListener("input", function() {
    alert("Content changed");
}, false);

FIDDLE

答案 2 :(得分:0)

你可以。输入时将文本与原始文本进行比较。如果它来自例如数据库,则进行ajax比较。如果没有,则使用原始内容创建隐藏字段,并将.parent的text()与输入[type = hidden]的值进行比较。如果你想要一个片段,请问。但我认为这很清楚。