(function($){ $.fn.qqFace=function(options){ var defaults={id:'facebox',path:'wechat/',assign:'content',tip:'em_'}; var option=$.extend(defaults,options); var assign=$('#'+option.assign); var id=option.id; var path=option.path; var tip=option.tip; if(assign.length<=0){alert('评论框丢失');return false;} $(this).click(function(e){ var strFace,labFace; if($('#'+id).length<=0){ strFace=''; } $(this).parent().append(strFace); // var offset=$(this).position(); // var top=offset.top+$(this).outerHeight(); // $('#'+id).css('top',top); // $('#'+id).css('left',offset.left); $('#'+id).show(); e.stopPropagation(); }); $(document).click(function(){$('#'+id).hide();$('#'+id).remove();}); }; })(jQuery); 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(!/msie/.test(navigator.userAgent.toLowerCase())) 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; } } });