使用 javascript/jquery 将突出显示的文本包含在带有强标签的文本区域中
我正在寻找创建一个 javascript/jquery 函数来将文本区域中的一段突出显示的文本包装在强标签中 - 类似于此处的所见即所得编辑器。
这可能吗?如果可以,你能给我指出正确的方向吗?
编辑:
好的,希望这里是我想要的更清晰的描述...
我的页面上有一个可以输入的文本框。
然后我希望能够突出显示该文本的一部分,并且将突出显示的部分包裹在 标签中
因此,如果文本框包含单词 one 二三
并且我突出显示了单词“two”,我希望能够将该词包含在强标签中 - 因此成为 one two三
希望这更清楚...我知道有插件,但我不需要完整的所见即所得功能。
I am looking to create a javascript/jquery function to wrap a piece of highlighted text from a textarea in strong tags - similar to the WYSIWYG editor here.
Is this possible and if so can you point me in the right direction.
EDIT:
OK so here's a hopefully clearer description of what I want...
I have a textbox on my page which I can type in.
I then want to be able to highlight a part of this text and wrap the highlighted part in <strong>
tags
So if the text box had the words one two three
and I highlighted the word "two", I want to be able to wrap that word in the strong tags - so becoming one <strong>two</strong> three
Hope this is clearer... I know there are plugins out there but I don't need the full WYSIWYG functionality.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我的 Rangy input(我知道这个名字很糟糕)jQuery 插件就是这样做的。
示例代码:
jsFiddle:http://jsfiddle.net/aGJDa/
My Rangy inputs (terrible name, I know) jQuery plug-in does this.
Example code:
jsFiddle: http://jsfiddle.net/aGJDa/
我爱兰吉!经常使用它!但我不想只为这个小应用程序包含整个内容,所以我使用 document.execCommand 来包装选定的文本,然后使用 href(CreateLink execCommand 的第三个参数)来查找元素,将其包装与我想要的,然后删除链接:
document.execCommand 受所有主要浏览器支持,因此您应该可以安全地以这种方式破解它。在我测试过的浏览器中,浏览器本身会为您关闭和打开标签,因此,如果您从一个 html 标签的中间选择到另一个 html 标签的中间,它应该正确嵌套标签。
I love Rangy! Use it often! But I didn't want to include the whole thing just for this little application, so I did it using document.execCommand to wrap the selected text, then used the href (third parameter of the CreateLink execCommand) to find the element, wrap it with what I wanted, and then remove the link:
document.execCommand is supported by all major browsers so you should be safe hacking it this way. In the browsers I've tested, the browser itself will close and open tags for you, so if you're selecting from the middle of one html tag to the middle of another, it should nest the tags correctly.