如何创建一个JS书签以在光标位置插入固定文本?

jcg*_*le3 4 javascript bookmarklet

我想创建一个小书签,可以将其放在浏览器的书签工具栏上,单击该小书签时,会插入固定的预定义文本(在我的用例中,耸肩:\xc2\xaf\\_(\xe3\x83\x84) _/\xc2\xaf )在当前光标位置(假设光标位于可编辑输入字段或文本区域中)。然而,我是 JavaScript 的初学者,不知道如何开始这样做。有什么帮助吗?如果我能找到正确方向的指针,我可能就能从那里找出答案。谢谢!

\n

jcg*_*le3 5

对于延误表示歉意;就在我发布这个问题的时候,生活向我抛出了一些曲线球,直到今晚 StackOverflow 通知我回复时,我才忘记了这一点。

\n

afuous的评论给了我想要的一切,现在我有了一个可用的书签。对于遇到此问题的其他人,这里是:

\n

javascript:(function(a){a.value=a.value.slice(0,a.selectionStart)+"%C2%AF\\\\_(%E3%83%84)_/%C2%AF"+a.value.slice(a.selectionEnd);})(document.activeElement);

\n

或者,作为尚未转换为小书签形式的 JavaScript:

\n
(function (a) {\n  a.value =\n    a.value.slice(0, a.selectionStart) +\n    "\xc2\xaf\\\\_(\xe3\x83\x84)_/\xc2\xaf" +\n    a.value.slice(a.selectionEnd);\n})(document.activeElement);\n
Run Code Online (Sandbox Code Playgroud)\n

这样做的好处是允许我选择文本的一部分,并使用小书签将所选内容替换为耸肩,就好像我在键盘上按下了假设的耸肩键一样。

\n

您可以随意窃取和修改您认为合适的内容。这仅在 Firefox 50.0.2 中进行了测试,但我认为它应该适用于所有现代浏览器。(它在 Internet Explorer 8 或更早版本中不起作用。)

\n