问题标签 [ng-paste]
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.
javascript - ng-paste 和 onpaste,如何在粘贴新文本时保留/获取现有文本
我正在使用ng-paste
并且onpaste
喜欢这样,
有input
文本some<CURSOR>data
(其中<CURSOR>
代表光标的位置)
当我按Cmd+V调用粘贴事件时,
它有效,但我只能得到粘贴的文本,我想要的是some<PASTED DATA>data
,有什么想法吗?
PS我不得不使用onpaste="return false;"
,否则文字变成<PASTED DATA><PASTED DATA>
javascript - Ng-Paste - 以数组或列表的形式访问粘贴的数据
理念
我们正在 Angular 1.5.x 中构建一个应用程序,并且我们正在尝试实现一项功能,该功能允许用户从 Excel 工作表或任何其他电子表格中粘贴单列单元格(单列,任意行数)输入。
我们有一个包含如下内联输入的数据表:
这个想法是,当他们将从电子表格的单列复制的数据粘贴到其中一个输入中时,数据将逐个单元格地解析,并按降序分配给每个输入端。IE 如果我将包含 [4.52, 6.235, 9.2301] 的一列单元格粘贴到包含 15.23 的顶部输入中,则 15.23 将变为 4.52,3.1234 将变为 6.235,3.1322 将变为 9.2301。我们知道如何将变量分配给输入,但我们需要数组格式的剪贴板数据,而不是一个大字符串。
问题
我们已经研究过使用 ng-paste 指令和 $event.clipboardData 属性来做到这一点,但我们只能以字符串的形式访问数据,虽然我们有一种解析字符串的方法,但错误会少得多如果我们可以访问以数组或列表形式传入的元素,以防止我们最终使用 delims 分解该字符串时出现任何错误,则很容易发生这种情况。
这是一个我们已经在尝试的工作plunker。
这是要复制并粘贴到输入中的示例数据集:
出于某种原因,从 excel 电子表格中复制列时,值之间没有分隔符。当我们从单行的多列而不是单列的多行复制时,我可以在 '\n' 字符上使用 .split() 并且它工作正常。但是,最好允许用户从单行和单列复制两者。问题只是当您从 excel 复制列时没有分隔符。
0.89663.91783.91773.91773.9178
这是从 excel/google 表格粘贴的内容^,但您可以随意将这些值放在电子表格的单个列中并从那里复制。我们可以确定粘贴的数据将来自电子表格。
解决方案
关于如何将剪贴板数据作为数组获取的任何想法?
javascript - 从 Ng-Paste 更新输入模型被粘贴操作覆盖
我们的工具:AngularJS 1.5.11 w/Angular Material v?
理念
我们试图允许用户将他们从 excel 或 google 电子表格复制的单行或单列数据(在我们的用例中为整数)粘贴到我们数据表中的单列输入中。如果他们粘贴到输入中,我们希望使用粘贴数据中的相应值填充该输入及其下方的输入。
这基本上感觉就像从 Excel 电子表格中复制列/行并将其粘贴到我们的数据表列之一,因为您希望复制的数据粘贴到任何其他电子表格中。
问题
当用户粘贴时,我们已经能够通过 JQLite $event 对象获取和解析粘贴的数据,并将这些数据值放入绑定到模板控制器的数组中。然后我们遍历其输入应该更改的行,并将新值分配给该行输入的正确“ng-model”属性。问题是 ng-paste 函数似乎在粘贴的数据绑定到初始输入模型之前执行,所以当我们在循环中更改第一个模型时,它会被覆盖(或其他东西)。基本上,初始输入保存粘贴的数据,而不是我们写入模型的值。
普朗克
此处:https :
//embed.plnkr.co/Vt2jDiF7pVmrbYpuoz0E/ 测试:任何由空格、逗号、换行符、回车符或制表符分隔的值集都应该适用于我们的代码。复制这一行:
5.3245,6234.3443,95.2453,10.2594
并将其粘贴到其中一个输入中以查看它是如何中断的。
angular - ng-paste 在粘贴之前带来模型
假设我有
和
我在控制台上得到“未定义”。
我认为这是因为当调用 ng-paste 时,模型仍然是“未定义”,然后粘贴的值随之而来。
如何使用 ng-paste 使用粘贴的字符串?