当前位置: 首页 > 面试题库 >

在文本突出显示事件上?

陈淳
2023-03-14
问题内容

我很好奇是否有人知道一旦/当用户完成在网页上的文本选择后,我将如何触发一个函数运行?我希望用户能够选择文本,并且在短暂的延迟后(或立即,此时无所谓),文本附近会出现一个叠加按钮,用户可以单击该按钮,然后我返回并运行我的更多基于选择的代码。这是用于Firefox扩展。

我能想到的一个类似示例就像在IE中一样,您可以在其中选择文本,然后显示“
Web加速器”。我99%确信我知道如何实际覆盖按钮并获取所选文本的位置,但是我不知道如何在不进行某种无限循环的情况下检查是否有选中的内容似乎是一个可怕的主意。

编辑:

//In my overlay.js with the rest of my sidebar code
isTextSelected: function () {   
        var myText = cqsearch.getSelectedText();
        var sidebar = document.getElementById("sidebar");
        var sidebarDoc = sidebar.contentDocument || document;

        var curHighlightedDiv = sidebarDoc.getElementById("testDiv");
        curHighlightedDiv.innerHTML = "Current text selection:" + myText;
    }
};

//In my on firefox load function I added this
document.onmouseup = cqsearch.isTextSelected;

因此,这就是我根据罗伯特的建议得出的,我花了一些时间将所有内容都放在正确的位置,但是效果很好!现在定位我的按钮。


问题答案:

没有任何onhighlightext类似的东西,但是一个解决方案是绑定onmouseup检查如果input/中没有选择任何文本textarea

编辑

这是适合您的实现示例。我仅在Chrome / Firefox / IE7中对此进行了测试。这同样适用于输入。

var t = '';

function gText(e) {

    t = (document.all) ? document.selection.createRange().text : document.getSelection();



    document.getElementById('input').value = t;

}



document.onmouseup = gText;

if (!document.all) document.captureEvents(Event.MOUSEUP);


<input type='text' id='input' />

在软件中,当调用堆栈上使用了太多内存时,会发生堆栈溢出。调用堆栈包含有限的内存,通常在程序开始时确定。调用堆栈的大小取决于许多因素,包括编程语言、机器体系结构、多线程和可用内存量。当调用堆栈上使用过多内存时,堆栈会溢出,通常会导致程序崩溃。[1]此类软件错误通常是由两种编程错误之一引起的。[2]



 类似资料:
  • 问题内容: 我可以高亮显示一些文本,使其从一个值开始,然后从另一个值结束,如下所示,但颜色为黄色吗? “” JTextPane 高亮显示 文本“” 谢谢。 问题答案: 通常,有几种可能性,具体取决于您对“突出显示”的真正含义:-) 通过在文档级别更改任意文本部分的样式属性来突出显示,例如 通过textPane级别上的荧光笔突出显示:

  • 问题内容: 我想知道如何根据某些模式来更改某些单词和表达式的样式。 我正在使用小部件,但不确定如何执行此操作(与文本编辑器中语法高亮显示的想法相同)。即使这是用于此目的的正确小部件,我也不确定。 问题答案: 这是用于这些目的的正确小部件。基本概念是,将属性分配给标签,然后将标签应用于小部件中的文本范围。您可以使用文本小部件的命令来查找与您的模式匹配的字符串,这将为您返回足够的信息,将标记应用于匹配

  • 问题内容: 我正在尝试突出显示与查询匹配的文本,但是我不知道如何使标记显示为HTML而不是文本。 当前输出: Java 脚本 所需的输出: Java 脚本 问题答案: 这是我简单的twoliner辅助方法: 它返回一个跨度,其中所请求的零件以标签突出显示。如果需要,可以简单地将其修改为使用其他标签。 更新: 为避免唯一键丢失警告,这是一个基于跨度并为匹配的零件设置fontWeight样式的解决方案

  • 问题内容: 这更多是一个假设性的问题,我正在为正在计划的项目集思广益,并且很好奇是否有人知道任何API或方法可以在任何窗口上立即获取突出显示的文本,例如从浏览器或文字处理器。它还可能有一个只有在按下时才能读取的键盘命令(类似于CTRL + C,将所选文本添加到剪贴板) 我们将非常感谢您对此有什么API的任何了解。 问题答案: 您可以使用JNA 在前台窗口上实际模拟(复制操作),然后读取剪贴板中的内

  • 谁知道是否可以更改文本突出显示? 当我在“”中编写sql时,突出显示效果很好,但是当我添加带有{}的新3.6语法时,除了python字符串之外的所有突出显示都会消失。 是否可以决定(在行级别应突出显示哪种语言? (我正在运行教授版PyCharm 2017.1.2)

  • 我有一个如下的文本区域, 我需要突出显示或选择所有文本“Highlight me”。我没有找到任何方法来突出显示文本区域中的文本。此外,我在JavaFX中找不到任何其他API可以突出显示特定文本或字母的出现,例如Swing中的JTextArea。有人可以建议我如何在文本区域突出显示字符串吗?或者除了JavaFX中的这个文本区域之外,还有其他API可用吗? 我的代码: 预期输出: 线条应以以下任何颜