问题标签 [onpaste]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2468 浏览

c# - 如何在 WPF 文本框中模拟粘贴?

我的 WPF 应用程序中有一个 TextBox,我添加了一个 Paste 事件来使用:

现在我想从 C# 代码触发 OnPaste 事件。我怎样才能做到这一点?我尝试在控件上调用 Paste() 函数。文本粘贴在控件中,但未触发 OnPaste 事件..:

0 投票
4 回答
5036 浏览

javascript - 如何确定 onChange 事件是否被 onPaste 调用

我有一个与onChange事件相关联的 Javascript 函数。我了解某些浏览器支持onPaste文档或元素级别。有没有办法确定onChange事件是否是由“粘贴”引起的 - 我尝试添加一个在onPaste触发时设置的全局变量,然后在我的onChange例程结束时将其重置,但不能保证onPaste函数得到在onChange.

0 投票
3 回答
2818 浏览

javascript - 如何使用 javascript 在 IE 的框架中添加 onpaste 事件?

我想在单击右键并选择在 IE 中粘贴后处理粘贴事件。作为一个例子,我这​​样做了:

它工作正常。但是当我添加“onpaste”而不是“onclick”时,它不起作用。另外我使用的是javascript而不是jquery。

有谁知道这是如何工作的?

谢谢

0 投票
1 回答
2169 浏览

javascript - 为什么'onpaste'事件在设计模式=“on”的Iframe中不起作用?

在 FireFox 中,我使用它并且它工作正常,

在哪里iFramWin=$("id").contentWindow;

在 IE 中,

在哪里iFramDoc =$("id").contentWindow.document;

0 投票
2 回答
1401 浏览

javascript - Opera <= 11.11 中的 onpaste 解决方案

onpaste在 Opera 中不起作用。

有人可以为这项任务提出更好的解决方案吗?

因为我不喜欢这样,所以我必须使用setInterval/setTimeout并模拟更改事件。因为如果使用triggerHandler('change')导致在用户模糊上触发第二个事件,实际上不知道为什么,它不应该按想法,因为数据在第一次之后没有改变triggerHandler('change')

在用户退出 textarea 之前需要一个解决方案来捕获val(),鼠标粘贴也应该被捕获。

0 投票
1 回答
3917 浏览

javascript - 过滤掉 div 和 oncopy 的 HTML 标签 onpaste

我的网站中有一个可编辑DIV的来发送论坛消息。人们可以编辑他们的消息(粗体、斜体、下划线、添加链接等)

但是我希望当有人粘贴或删除( - 不需要删除,但粘贴它)他们的文本时,我希望它进入DIV没有 HTML 标记的位置 - 干净,只是文本。(例如,如果有人将文字设置为 200 磅大小,然后将其复制并粘贴到我的 中DIV,他们将收到非常不同的信息……我不希望它发生)。

如何扫描来自剪贴板的文本以删除任何 HTML 标签,然后将其粘贴到DIV?

我也想对 COPY 应用相同的过滤器。

谢谢

0 投票
4 回答
23424 浏览

jquery - jQuery on("paste") 第一次没有抓取或传递值

对我来说真正的交易问题,因为我不知道如何解决它。

我编写的 jQuery 脚本应该获取“粘贴”操作的输入值,并通过 ajax 将其传递给 codeigniter 控制器。

它实际上工作正常,但前提是我第二次(以及更长时间)粘贴该值。当我将某些 div 或其他 DOM 元素的 on("paste") 更改为 on("click") 时,它也可以正常工作。

脚本:

});

任何帮助,将不胜感激

编辑:还有一个提示。

这个特定脚本中的 val() 实际上在粘贴操作之前取值。如果我在这个输入上写了一些东西,然后删除它并粘贴其他东西,它实际上会将我写的值传递给控制器​​,而不是我粘贴的值。

EDIT2:好的,我很确定这是粘贴的 jQuery 问题。

此脚本应将输入值添加到 div#thumbs。它不适用于第一次粘贴操作。其次,它确实有效。

EDIT3:我的朋友给了我一个提示。on("paste") 适用于“粘贴”动作,在粘贴实际完成之前。如果有人给我提示如何在粘贴后超时以获取值,我可以继续。

0 投票
2 回答
5706 浏览

javascript - 如何在粘贴时获取文本区域输入字段的新值?

我看到,当我在调用它的函数时尝试从 textarea 字段中读取值时onpaste,我得到了该字段的旧值(粘贴操作之前的那个),而不是新值(粘贴操作之后的那个)。

这是此行为的演示:http: //jsfiddle.net/qsDnr/

代码副本如下:

您可以通过以下步骤确认行为。

  1. 将字符串复制foo到剪贴板。
  2. 右键单击 textarea 字段并选择“粘贴”。div 元素中不显示任何内容。
  3. 右键单击 textarea 字段并再次选择“粘贴”。foo出现在 div 元素中。

由于我希望 div 元素始终显示使用粘贴操作在 textarea 元素中更新的内容,因此所需的输出分别是步骤 2foofoo foo步骤 3 中的和。

我设法获得所需输出的一种方法是使用延迟update()函数调用window.setTimeout(),所以而不是

我有

这次(演示:http: //jsfiddle.net/cwpLS/)。这就是我想要的。但是,这感觉更像是一种解决方法,而不是一种直接的方式来做我想做的事。我想知道是否有任何替代或更好的方法来做到这一点。

0 投票
3 回答
5109 浏览

javascript - 如何配置 Firefox 以允许 Javascript 拦截从剪贴板粘贴的值?

当用户从剪贴板粘贴时,我需要过滤掉某些字符。(我实际上并不想修改剪贴板中的内容。)我已经在 IE 中使用它。叹息...

tl;dr: user.jscapability.policy中的项目使其进入prefs.js但未生效。

仅供参考,我可以合理地让所有用户安装user.js。但是我们都没有对我们机器的管理员访问权限,所以这就是我在配置方面所能做的所有事情。

谢谢你的帮助!

笔记:

  1. 出于这个问题的目的,我不想“绕过”访问剪贴板——
    例如,我不想在粘贴发生 后对 DOM 元素的值进行操作
  2. 我不想要一个需要框架/库的解决方案(如 jQuery、Dojo、Prototype、YUI,...)

遵循的步骤

  1. 通过转到 URL about:support => Profile Directory =>确定我的个人资料文件夹的位置Open Containing Folder

  2. 尝试通过使用以下行 创建user.js在 Firefox中启用剪贴板:注意:https://my-site.com 不是真实站点。

  3. 事实证明,使用about:config看不到capability.policy这些项目——由于Bugzilla 错误 284673——about:config 隐藏了“capability.policy”首选项。但是,我确实认为这些user.js项目“有效”并且该文件位于正确的文件夹中,因为之后:
    • about:config显示just.mike条目
    • prefs.js包含所有新行,但顺序不同——按字母顺序排列:
    (仅供参考,我也尝试Zallowclipboard了所有地方,以便该policynames行由于字母顺序排在第一位,但这也不起作用。)

  4. 在发生以下事件后尝试在 Firefox中读取剪贴板onpaste
  5. 代码在第一行失败,在 Firebug 控制台中返回此错误: 注意:我实际上是在真实的 URL 上运行它,它确实显示在错误消息中——我只是在这里将它更改为一个虚拟名称。

  6. 我还看到了一些其他示例,createInstance在第一行而不是getService,但第一行仍然生成相同的错误文本:


环境 (这是我无法控制的)

  • 没有管理员访问计算机的权限
  • 视窗
  • 火狐浏览器 10

参考

0 投票
2 回答
3919 浏览

html - HTML: onpaste="doSomething();" 作为无效属性

我正在使用 Amaya 检查我的 HTML 代码。

我在这一行有一个错误:

对于 onpaste,我收到“无效属性“onpaste”(保存时删除)”错误。

我不知道为什么?非常感谢您的帮助。