富文本編輯器相信很多程序員都用過,但是如何自己制作一個(gè)仿富文本的編輯器來解決一些簡單的或自定義的需求呢?下面給大家共享一個(gè)使用JavaScript實(shí)現(xiàn)在textarea光標(biāo)處插入指定文本內(nèi)容以及字符串。
點(diǎn)擊按鈕,可以把按鈕的內(nèi)容插入到textarea文本框內(nèi)光標(biāo)處,光標(biāo)默認(rèn)在文本框開頭。
通過其他的js就可以實(shí)現(xiàn)文本框插入表情、選中文字加粗、內(nèi)容中插入圖片等等。
HTML代碼:
<form id="form1" name="form1" method="post" action="">
<label>
<textarea name="text" id="text" cols="45" rows="10">
這是測試內(nèi)容,請(qǐng)?jiān)谌我馕恢貌迦雰?nèi)容。
這是測試內(nèi)容,請(qǐng)?jiān)谌我馕恢貌迦雰?nèi)容。
這是測試內(nèi)容,請(qǐng)?jiān)谌我馕恢貌迦雰?nèi)容。
這是測試內(nèi)容,請(qǐng)?jiān)谌我馕恢貌迦雰?nèi)容。
這是測試內(nèi)容,請(qǐng)?jiān)谌我馕恢貌迦雰?nèi)容。
這是測試內(nèi)容,請(qǐng)?jiān)谌我馕恢貌迦雰?nèi)容。
這是測試內(nèi)容,請(qǐng)?jiān)谌我馕恢貌迦雰?nèi)容。
這是測試內(nèi)容,請(qǐng)?jiān)谌我馕恢貌迦雰?nèi)容。
這是測試內(nèi)容,請(qǐng)?jiān)谌我馕恢貌迦雰?nèi)容。
這是測試內(nèi)容,請(qǐng)?jiān)谌我馕恢貌迦雰?nèi)容。
這是測試內(nèi)容,請(qǐng)?jiān)谌我馕恢貌迦雰?nèi)容。
這是測試內(nèi)容,請(qǐng)?jiān)谌我馕恢貌迦雰?nèi)容。
</textarea>
<a id="insert" href="javascript:void(0);">{PHP code here}</a>
</label>
</form>
Javascript代碼:
<script type="text/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();
}
}
</script>




網(wǎng)站建設(shè)
品牌設(shè)計(jì)
APP開發(fā)
小程序開發(fā)
商城開發(fā)
網(wǎng)站優(yōu)化
UI設(shè)計(jì)
增值服務(wù)