如何使用javascript触摸事件在触摸屏上选择文本

时间:2021-04-27 13:55:50

标签: javascript highlight touch-event textselection getselection

我有这个带有 jQ​​uery 的 javascript,可以在连接了鼠标和键盘的计算机屏幕上完成这项工作:

开始选择屏幕上的文本:

   $("body").on("mousedown", ".myDiv", async function(e) {
           //do something
    });

当屏幕上的文本选择完成时:

$("body").on("mouseup",".myDiv", function(e) {
        //do something, e.g. windows.getSelection()        
    });

在计算机屏幕上,它看起来像这样: how highligthing looks on computer

在移动屏幕上它看起来像: how highligthing looks on android chrome browser

在移动设备上,有两件事发生在电脑屏幕上:

  • 用于修改选择的两个手柄
  • 用于选择的菜单

如何实现与计算机屏幕上相同的结果,即在使用触摸向浏览器发出特定信号时如何模拟 mouseup 事件,即我已完成选择?

我试过了:

 $("body").on("touchstart",".myDiv", function(e) {
        //do something, e.g. windows.getSelection()        
    });
 $("body").on("touchend",".myDiv", function(e) {
            //do something, e.g. windows.getSelection()        
        });

谢谢!

1 个答案:

答案 0 :(得分:0)

您正在寻找 if len(set(lst)) == 1 and 40 in lst: print("Success") else: print("Failure") 活动!

无论如何选择文本(通过鼠标、触摸、键盘或特殊设备),它都会检测选择的变化。

它不会告诉您选择了哪个元素(您必须手动确定),也不会表示用户已完成选择,但每次选择更改时都会触发它(您可能想要在弹出窗口之前添加一些超时时间):

selectionchange
document.addEventListener("selectionchange", function(e) {
  //do something, e.g. windows.getSelection()        
  console.log("selectionchange")
});