我有一个文字输入.当输入获得焦点时,我想选择输入内的文本.
使用jQuery我会这样做:
<input type="text" value="test" />
Run Code Online (Sandbox Code Playgroud)
$("input[type=text]").click(function() {
$(this).select();
// would select "test" in this example
});
Run Code Online (Sandbox Code Playgroud)
我一直在寻找尝试找到Angular的方法,但我发现的大多数例子都是在处理一个正在观察变化的模态属性的指令.我假设我需要一个正在观察获得焦点的输入的指令.我该怎么办?
在JavaScript中,可以以编程方式选择input或textarea元素中的文本.您可以使用ipt.focus(),然后选择其内容来聚焦输入ipt.select().您甚至可以选择特定范围ipt.setSelectionRange(from,to).
我的问题是:有没有办法在contenteditable元素中做到这一点?
我发现我可以做elem.focus(),把插入符号放在一个contenteditable元素中,但随后运行elem.select()不起作用(也没有setSelectionRange).我在网上找不到任何关于它的东西,但也许我正在寻找错误的东西......
顺便说一下,如果它有所不同,我只需要它在谷歌浏览器中工作,因为这是Chrome扩展.
如何在iOS设备上以编程方式选择输入字段的文本,例如运行移动Safari的iPhone,iPad?
通常.select(),在<input ... />元素上调用函数就足够了,但这对这些设备不起作用.光标只是留在现有条目的末尾而没有做出选择.
JavaScript中处理事件的优先顺序是什么?
以下是按字母顺序排列的事件......
他们从事件队列中处理了什么顺序?
优先级不是先进先出(FIFO),所以我相信.
我有一个文本框(设置为只读),我需要选择其内容,以便在获得焦点时轻松复制/粘贴.使用下面的代码似乎只是快速选择文本,然后出于某种原因取消选择它.
HTML
<input id='thing' type='text' value='some text' readonly='readonly' />?
Run Code Online (Sandbox Code Playgroud)
JavaScript的
document.getElementById('thing').onfocus = function(){
this.select();
};?
Run Code Online (Sandbox Code Playgroud)
更新(2015年12月18日) 此问题的当前最佳应用是:在Shiny App中从DataTable获取所选行
======================
我正在尝试使用用户提供的行选择来反复重新显示数据集.作为一个玩具的例子,
ui.R
library(shiny)
shinyUI(pageWithSidebar(
headerPanel('Examples of DataTables'),
sidebarPanel(
checkboxGroupInput('show_vars', 'Columns to show:', names(mtcars),
selected = names(mtcars))
),
mainPanel(
dataTableOutput("mytable")
)
)
)
Run Code Online (Sandbox Code Playgroud)
server.R
library(shiny)
shinyServer(function(input, output) {
# sorted columns are colored now because CSS are attached to them
output$mytable = renderDataTable({
addRadioButtons <- paste0('<input type="radio" name="row', 1:nrow(mtcars), '" value="', 1:nrow(mtcars), '">',"")
#Display table with radio buttons
cbind(Pick=addRadioButtons, mtcars[, input$show_vars, drop=FALSE])
}, options = list(bSortClasses = TRUE, aLengthMenu = c(5, 25, 50), iDisplayLength = 25)) …Run Code Online (Sandbox Code Playgroud) 我在反应应用程序中有一个带有材料 -UI TextField 的模态表单,我有一个默认值,es。一个文件,当元素加载时,我只会选择文件名而不选择扩展名....
我在标签 TextField 中执行了以下代码:
<textField
value={value}
fullWidth
autoFocus
onFocus={event => {
event.target.select()}} />
Run Code Online (Sandbox Code Playgroud)
但这将选择 textField 中的所有文本。
如何只选择文本的一部分?例如:如果我有 myfile.doc,我只会像这样选择 myfile

谢谢
我在网页上有这个。当用户单击输入元素时,我希望自动选择输入元素的值。
我可以通过对this.select()进行onclick事件来做到这一点,如下所示
<input type="number" onclick="this.select();" >
Run Code Online (Sandbox Code Playgroud)
这将选择Firefox,Chrome和IE中的值。但不会出现在野生动物园中。我也想将其用于iPhone。艰苦的Google搜索,我发现了一个支持Safari浏览器支持的javascript方法,看起来像这样
document.getElementById(inputElementsId).setSelectionRange(0, 9999);
Run Code Online (Sandbox Code Playgroud)
但是它不支持输入类型“数字”。那么还有其他方法可以使它运行吗?
一如既往,感谢您的宝贵时间。
javascript ×6
html ×3
iphone ×2
angularjs ×1
dom-events ×1
eventqueue ×1
html-input ×1
html5 ×1
ios ×1
jquery ×1
material-ui ×1
r ×1
reactjs ×1
safari ×1
selection ×1
shiny ×1
textfield ×1