如何在粘贴事件触发时找出所选内容?

时间:2017-02-06 05:03:25

标签: javascript jquery

场景:用户在文本框中突出显示某些文字,然后粘贴到所选内容上。触发事件即会触发。

为了在我的自定义粘贴处理程序中正确处理此问题,我需要知道粘贴发生时突出显示的内容。

虽然(至少在Firefox中)显示浏览器取消选择用户的选择,然后调用粘贴处理程序,这意味着我无法通过使用{{来找出所选内容1}} / window.getSelection。即使选择了要覆盖的文本,它们在粘贴事件运行时也是空的。

如果粘贴事件没有被拦截,是否有办法获取将被粘贴覆盖的文本(因为它已被选中)?

1 个答案:

答案 0 :(得分:0)

显然,您应该能够在window.getSelection()的粘贴事件中获取所选文本,但由于bug in firefox而无法在16年后仍然无法修复!

解决方法是使用selectionStartselectionEnd,如:

var SelStart = Field.selectionStart;
var SelEnd = Field.selectionEnd;
var SelectedText = Field.value.substring(SelStart,SelEnd);