2016-11-14 61 views
2

我想创建一个书签,我可以放在浏览器的书签工具栏上,当点击它时,在当前的插入一个固定的,预定义的文本(在我的用例中是一个耸肩:¯\ _(ツ)_ /¯)光标位置(假设光标位于可编辑的输入字段或textarea中)。但是,我是JavaScript的初学者,无法弄清楚如何开始这样做。任何帮助?如果我能够找到正确的方向,我可以从那里弄清楚。谢谢!如何创建JS书签在光标位置插入固定文本?

+1

[获取活动输入元素](https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement)。 [获取该元素内容中的光标位置](http://stackoverflow.com/questions/2897155/get-cursor-position-in-characters-within-a-text-input-field)。 [访问并修改输入框的内容](http://www.w3schools.com/jsref/prop_text_value.asp)。 [操作字符串以在需要的位置插入文本](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)。 – afuous

+0

@afuous这给了我所寻找的一切。在Firefox控制台中进行实验后,我在大约十分钟内(包括分心)获得了一个工作书签。看到我的答案下面我想出了什么。 – jcgoble3

+0

不错,我可能真的会自己使用这个。 – afuous

回答

1

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

评论人afuous给了我一切,我正在寻找,我现在有一个工作书签。对于其他人谁碰到这个来了,那就是:

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);

这有让我选择一个文本的一部分,并使用该书签与shruggie替换选择,仿佛受益我在键盘上碰到了一个假想的shruggie键。

随意偷取和修改,因为你认为合适。这仅在Firefox 50.0.2中测试过,但我认为它应该适用于所有现代浏览器。 (它不能在Internet Explorer 8或更低版本中运行。)

0

CSS技巧有一篇文章,解释如何做到这一点和更多。我很清楚链接只有答案在这里不太理想,但问题是要求正确方向的指针,所以我认为它很合适。

教程中的小书签预装了表单,所以基本上你会想要插入它,但首先要看看它是如何找到表单控件并预先填充的。然后调整,以适应您所需的功能,并最终撕掉一切你不需要或使用。

​​

+1

看起来像很多伟大的信息,但它有点在我的头上。我在下面发表的回答,基于对上述问题的评论,是我所需要的。不过谢谢你。 – jcgoble3