我试图在选择时在android中获取所选文本。它在触摸设备中不起作用。但是它在正常的浏览器中运行良好。

if(!window.Kolich) {
   Kolich = {};
}
Kolich.Selector = {};
// getSelected() was borrowed from CodeToad at
// http://www.codetoad.com/javascript_get_selected_text.asp
Kolich.Selector.getSelected = function() {
   var t = '';
   if(window.getSelection) {
      t = window.getSelection();
   }
   else if(document.getSelection) {
      t = document.getSelection();
   }
   else if(document.selection){
      t =document.selection.createRange().text;
   }
   return t;
}
Kolich.Selector.mouseup = function(e){
   var st = Kolich.Selector.getSelected();
   alert(st);
}


但是Android触摸选择无法与此代码一起使用..请帮助

最佳答案

最新的WebKit浏览器(包括最新版本的Android中的默认浏览器)在节点上支持selectionchange事件。这个事件在Opera或Mozilla中不存在(但从5.5版开始在IE中存在)。

示例代码:

document.onselectionchange = function() {
    alert( window.getSelection().toString() );
};

09-25 17:28