87,993
社区成员
发帖
与我相关
我的任务
分享<script>
(function($){
$.fn.fheditor=function(ops){
tt=$(this);
var ttw=tt.width();
var tth=tt.height();
var sets={
fhstats:"0",words:"0"
}
var newsets=$.extend(sets,ops);
var editdiv=$("<div id='editdiv' contentEditable=true></div>").height(tth).width(ttw).css("border","1px solid #ddd");
var editval=editdiv.html();
tt.hide().after(editdiv);
var t_bold=$("<div class='tooldivs_bold' id='t_bold'></div>").click(function(){tt.setCaret();tt.insertAtCaret("<b>name</b>");
editdiv.html(tt.val())
});
}
})(jQuery);
//range
jQuery.extend({
/**
* 清除当前选择内容
*/
unselectContents: function(){
if(window.getSelection)
window.getSelection().removeAllRanges();
else if(document.selection)
document.selection.empty();
}
});
jQuery.fn.extend({
/**
* 选中内容
*/
selectContents: function(){
$(this).each(function(i){
var node = this;
var selection, range, doc, win;
if ((doc = node.ownerDocument) &&
(win = doc.defaultView) &&
typeof win.getSelection != 'undefined' &&
typeof doc.createRange != 'undefined' &&
(selection = window.getSelection()) &&
typeof selection.removeAllRanges != 'undefined')
{
range = doc.createRange();
range.selectNode(node);
if(i == 0){
selection.removeAllRanges();
}
selection.addRange(range);
}
else if (document.body &&
typeof document.body.createTextRange != 'undefined' &&
(range = document.body.createTextRange()))
{
range.moveToElementText(node);
range.select();
}
});
},
/**
* 初始化对象以支持光标处插入内容
*/
setCaret: function(){
if(!$.browser.msie) return;
var initSetCaret = function(){
var textObj = $(this).get(0);
textObj.caretPos = document.selection.createRange().duplicate();
};
$(this)
.click(initSetCaret)
.select(initSetCaret)
.keyup(initSetCaret);
},
/**
* 在当前对象光标处插入指定的内容
*/
insertAtCaret: function(textFeildValue){
var textObj = $(this).get(0);
if(document.all && textObj.createTextRange && textObj.caretPos){
var caretPos=textObj.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length-1) == '' ?
textFeildValue+'' : textFeildValue;
}
else if(textObj.setSelectionRange){
var rangeStart=textObj.selectionStart;
var rangeEnd=textObj.selectionEnd;
var tempStr1=textObj.value.substring(0,rangeStart);
var tempStr2=textObj.value.substring(rangeEnd);
textObj.value=tempStr1+textFeildValue+tempStr2;
textObj.focus();
var len=textFeildValue.length;
textObj.setSelectionRange(rangeStart+len,rangeStart+len);
textObj.blur();
}
else {
textObj.value+=textFeildValue;
}
}
});
</script><div style="height:200px;width:350px;border:solid 1px #000" contenteditable="true" onblur="document.getElementById('ta').value=this.innerHTML"></div>
<textarea id="ta" cols="50" rows="5"></textarea>