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

以编程方式在可内容编辑的HTML元素中选择文本?

松和泰
2023-03-14
问题内容

在JavaScript中,可以通过html" target="_blank">编程方式选择inputtextarea元素中的文本。您可以使用来集中输入ipt.focus(),然后使用来选择其内容ipt.select()。您甚至可以使用选择特定范围ipt.setSelectionRange(from,to)

我的问题是:在contenteditable元素中也有任何方法可以这样做吗?

我发现我可以这样做elem.focus(),可以将插入符号放入contenteditable元素中,但是随后运行elem.select()不起作用(也不行setSelectionRange)。我在网上找不到任何有关它的信息,但也许我在寻找错误的信息…

顺便说一下,如果有什么不同,我只需要它在Google Chrome中工作即可,因为这是Chrome扩展程序。


问题答案:

如果要在Chrome中选择某个元素的所有内容(无论内容是否可编辑),方法如下。这也可以在Firefox,Safari 3 +,Opera9+(可能也是早期版本)和IE9中使用。您还可以创建字符级别以下的选择。您需要的API是DOMRange当前规范是[DOM Level2,另请参见MDN和Selection,它们被指定为新Range规范MDN docs的一部分。

function selectElementContents(el) {
    var range = document.createRange();
    range.selectNodeContents(el);
    var sel = window.getSelection();
    sel.removeAllRanges();
    sel.addRange(range);
}

var el = document.getElementById("foo");
selectElementContents(el);


 类似资料:
  • 我试图通过编程更改edittext的颜色。它可以工作,但正如您从所附的图像中看到的,文本选择的图标仍然使用主题颜色重音,而不是我设置的蓝色。我怎样才能改变它?我目前的代码是:

  • 问题内容: 如何以编程方式选择UITextField中的所有文本? 问题答案: 原来,调用-selectAll:使用非零发送者显示菜单。用nil调用它会使它选择文本,但不显示菜单。 在我的bug报告从Apple回来后,我建议我通过nil而不是self来尝试。 无需考虑UIMenuController或其他选择API。

  • 问题内容: 我有一个多层PSD,其中一个特定的层是非光栅化文本。我试图从bash / perl / python / whatever- else程序中找出一种可行的方法: 加载PSD 编辑所述图层中的文本 展平图像中的所有图层 另存为Web友好格式,如PNG或JPG 我立刻想到了ImageMagick,但是我认为我无法通过IM编辑文本层。如果我可以通过其他编程方式完成前两个步骤,则可以始终使用I

  • 问题内容: 启动应用程序时,未选择任何行。但我想表明第一行已被选中。 这该怎么做?我是否需要设置行的颜色? 更新:我尝试了table.setRowSelectionInterval(0,0)。我知道它应该可以工作,但是有一条错误消息: 问题答案: 您可以调用setRowSelectionInterval来做到这一点: 选择第一行。

  • 编辑#2:因为它看起来像一个bug,我已经在javaFx jira中发布了一个bug报告。您必须拥有一个帐户才能访问该问题。如果有新的信息,我会及时更新这篇文章。 原始帖子:我有一个简单的UI,带有一个按钮和一个树状视图。如果按钮被按下,应该会有一个新的项目添加到树视图。此项一出现在树中就应可编辑。 我使用的CellFactory是JavaFXAPI的一部分。 如果我看看api-留档(TreeVi

  • 我有一个,它由sqlite数据库中的城市填充,该数据库在项目单击时调用。最近我添加了一个使用gps检测我的位置的选项,所以问题是我可以检测城市(即贝鲁特)并设置的文本,但问题是下拉筛选器打开时显示贝鲁特(这是正确的),但我仍然需要单击列表项来调用监听器,如何以编程方式这样做 如何: 输入活动(DONE) 检测位置(DONE) 设置文本视图的文本(DONE) 显示textview下拉列表(已完成)