如何创建一些javascript来执行以下操作 - 当用户点击“BOLD”按钮时,所选文本会显示“< b>”和“< / b>”缠绕着它。
<form name="my">
<textarea name="textarea"></textarea><br />
<input type="button" value="bold" onclick="formatText ('b');" />
<input type="button" value="italic" onclick="formatText ('i');" />
<input type="button" value="underline" onclick="formatText ('u');" />
</form>
请帮我创建支持几乎网络浏览器的java脚本
答案 0 :(得分:1)
您应该使用现有的富文本编辑器,它们是可配置的,因此您只能为用户提供您希望他们使用的功能。它们还具有在各种不同浏览器中工作的额外好处。
仅使用粗体,斜体和下划线设置tinyMCE的示例。
tinyMCE.init({
// General options
mode : "textareas",
theme : "advanced",
// Theme options
theme_advanced_buttons1 : "bold,italic,underline"
});
答案 1 :(得分:0)
请尝试下面给出的脚本......
<script>
function formatText (key){
var elem = document.my.textarea;
/*start of selection area*/
var start = elem.selectionStart;
var end = elem.selectionEnd;
var len = elem.value.length;
var sel_txt = elem.value.substring(start,end);
if (sel_txt != ""){
var begin_tag = "<"+key+">";
var close_tag = "</"+key+">";
var replace = begin_tag + sel_txt + close_tag;
elem.value = elem.value.substring(0,start) + replace + elem.value.substring(end,len);
}
</script>
我在http://jsfiddle.net/VRqU3/上尝试过脚本。请检查一下。
我希望它对你有用, 谢谢,
答案 2 :(得分:0)
如果它不适用于IE&lt; 9,不支持textarea元素的selectionStart
和selectionEnd
属性。以下是我之前的答案,详细说明了如何执行此操作:
答案 3 :(得分:-1)
尝试此功能:
function formatText(tag) {
var Field = document.getElementById('text');
var val = Field.value;
var selected_txt = val.substring(Field.selectionStart, Field.selectionEnd);
var before_txt = val.substring(0, Field.selectionStart);
var after_txt = val.substring(Field.selectionEnd, val.length);
Field.value = before_txt + '<' + tag + '>' + selected_txt + '</' + tag + '>' + after_txt;
}
示例:http://jsbin.com/ilecug/
资料来源:http://jsbin.com/ilecug/edit