Posted in Javascript onAugust 28, 2011
本人不怎么会写JS,但是会搜索,这里找到了些别人写好的东西:
select(document, tanchu); /*=select[[ * * 跨浏览器选中文字事件 * @param * object o 响应选中事件的DOM对象,required * function fn(sText,target,mouseP)选中文字非空时的回调函数,required * |-@param * |-sText 选中的文字内容 * |-target 触发mouseup事件的元素 * |-mouseP 触发mouseup事件时鼠标坐标 */ function select(o, fn){ o.onmouseup = function(e){ var event = window.event || e; var target = event.srcElement ? event.srcElement : event.target; if (/input|textarea/i.test(target.tagName) && /firefox/i.test(navigator.userAgent)) { //Firefox在文本框内选择文字 var staIndex=target.selectionStart; var endIndex=target.selectionEnd; if(staIndex!=endIndex){ var sText=target.value.substring(staIndex,endIndex); fn(sText,target); } } else{ //获取选中文字 var sText = document.selection == undefined ? document.getSelection().toString():document.selection.createRange().text; if (sText != "") { //将参数传入回调函数fn fn(sText, target); } } } } /*]]select=*/ function tanchu(txt,tar){ alert("文字属于"+tar.tagName+"元素,选中内容为:"+txt); }
原作者见:http://momomolice.com/wordpress/archives/420.html
附:只获得选取的文字的代码(不响应该事件)
function getSelectedText() { if (window.getSelection) { // This technique is the most likely to be standardized. // getSelection() returns a Selection object, which we do not document. return window.getSelection().toString(); } else if (document.getSelection) { // This is an older, simpler technique that returns a string return document.getSelection(); } else if (document.selection) { // This is the IE-specific technique. // We do not document the IE selection property or TextRange objects. return document.selection.createRange().text; } }
函数运行后会将选取的文字返回出来。
原作者已不可考。。。
JavaScript 选中文字并响应获取的实现代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@