Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从JavaScript在Safari中确定/操作文本区域的选择?_Javascript_Safari_Webkit_Selection - Fatal编程技术网

如何从JavaScript在Safari中确定/操作文本区域的选择?

如何从JavaScript在Safari中确定/操作文本区域的选择?,javascript,safari,webkit,selection,Javascript,Safari,Webkit,Selection,我有一些JavaScript代码可以做两件事: 从文本区域检索所选文本 向选定文本添加前缀和后缀 代码当前使用textarea的selectionStart和selectionEnd属性来确定选择的开始/结束位置,提取选择文本并对其进行处理,然后使用插入在右点的前缀和后缀重新写入textarea的值 此实现在Firefox中运行良好,但在Safari中不起作用。显然,selectionStart和selectionEnd属性在WebKit中不存在。(我怀疑这段代码在同样基于WebKit的Go

我有一些JavaScript代码可以做两件事:

  • 从文本区域检索所选文本
  • 向选定文本添加前缀和后缀
代码当前使用textarea的
selectionStart
selectionEnd
属性来确定选择的开始/结束位置,提取选择文本并对其进行处理,然后使用插入在右点的前缀和后缀重新写入textarea的值

此实现在Firefox中运行良好,但在Safari中不起作用。显然,
selectionStart
selectionEnd
属性在WebKit中不存在。(我怀疑这段代码在同样基于WebKit的Google Chrome中也不起作用,尽管我还没有对此进行测试。)


在Safari中如何执行这两个操作?

我相信您正在寻找


也似乎在Safari中工作(我没有测试)(请参阅:

请参阅闭包中的goog.dom.selection。

老实说,我希望有更明确的内容。例如:我到底该如何替换所选文本?另外请注意,我只想在所选文本位于文本区域时执行此操作。如果选择页面上的随机文本,我想给用户一个错误。我在Chrome中使用它,并且它是有效的。)非常好。