富文本编辑器相信很多程序员都用过,但是如何自己制作一个仿富文本的编辑器来解决一些简单的或自定义的需求呢?下面给大家共享一个使用JavaScript实现在textarea光标处插入指定文本内容以及字符串。
点击按钮,可以把按钮的内容插入到textarea文本框内光标处,光标默认在文本框开头。
通过其他的js就可以实现文本框插入表情、选中文字加粗、内容中插入图片等等。
HTML代码:
这是测试内容,请在任意位置插入内容。
这是测试内容,请在任意位置插入内容。
这是测试内容,请在任意位置插入内容。
这是测试内容,请在任意位置插入内容。
这是测试内容,请在任意位置插入内容。
这是测试内容,请在任意位置插入内容。
这是测试内容,请在任意位置插入内容。
这是测试内容,请在任意位置插入内容。
这是测试内容,请在任意位置插入内容。
这是测试内容,请在任意位置插入内容。
这是测试内容,请在任意位置插入内容。
这是测试内容,请在任意位置插入内容。
{PHP code here}
Javascript代码:
var text = document.getElementById('text');
var insert = document.getElementById('insert');
insert.onclick = function () {
insertAtCursor(text, this.innerHTML);
};
function insertAtCursor(myField, myValue) {
if (document.selection) {
//IE support
myField.focus();
sel = document.selection.createRange();
sel.text = myValue;
sel.select();
} else if (myField.selectionStart || myField.selectionStart == '0') {
//MOZILLA/NETSCAPE support
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
var beforeValue = myField.value.substring(0, startPos);
var afterValue = myField.value.substring(endPos, myField.value.length);
myField.value = beforeValue + myValue + afterValue;
myField.selectionStart = startPos + myValue.length;
myField.selectionEnd = startPos + myValue.length;
myField.focus();
} else {
myField.value += myValue;
myField.focus();
}
}
html自定义实现文本编辑器 自定义开发富文本编辑器(Javascript实现点击插入内容到textarea光标处)...