【问题标题】:Which aspect of MouseEvent, or something else, triggers visual highlighting?MouseEvent 的哪个方面或其他东西会触发视觉突出显示?
【发布时间】:2013-08-05 09:24:33
【问题描述】:

标题设法提出了大部分问题,但是,我很好奇使用 LMB 进行点击的哪一部分触发了视觉突出显示。

我所说的视觉突出显示是蓝色框(如果您是默认设置),它显示您选择的文本,以便您看到它。据我所知,实际选择是选择对象锚点和焦点的差异,但在这之间有什么东西告诉 Chrome 画一个蓝色框吗?

我认为这两个东西,文本选择和文本突出显示,不一定要一起工作,而是同时工作。我希望能够使用其他键/按钮来模拟文本选择 - 从而突出显示。

【问题讨论】:

    标签: javascript mouseevent highlighting textselection


    【解决方案1】:

    如果我理解你所说的 .select 事件的问题(我将使用 jquery 来展示你可以用它做什么)。当用户在您的元素中选择某些文本时触发该事件。例如:

    $("#TextArea").on("select", function(){
        alert("you have been selected somesing");
    });
    

    TextArea 当然是一个文本区域。

    编辑:更多信息和提示:

    $("#TextArea").on("select", function(){
        indexOfSelectionStart = this.selectionStart;
        indexOfSelectionEnd = this.selectionEnd;
        alert("first index: " + indexOfSelectionStart + ". sec: "indexOfSelectionEnd);
    });
    

    通过索引你可以知道用户选择了什么(如果你使用slice()

    希望对你有帮助,如果没有,请告诉我。

    祝你好运。

    【讨论】:

    • 一些有趣的信息并且非常有用,但它没有回答问题。我想要做的是重新创建突出显示,而不是文本选择。换句话说,我想在您选择文本时创建出现在文本周围的蓝色框。
    • 是文本框/文本区域中的文本还是普通文本?您可以使用 CSS 突出显示特定元素(div、p、a 等)。但我仍然不确定这是不是你想要的
    • 不,从技术上讲,它是 中的文本,所以即使不是全部,也是此屏幕上的大部分文本。您将如何使用 CSS“动态”突出显示(绘制自定义突出显示的开始和结束)?
    猜你喜欢
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    相关资源
    最近更新 更多