我最近发现了Vim的Ctrl+ E和Ctrl+ Y快捷键,分别用一行步骤上下移动屏幕,而不移动光标.
你知道任何将光标留在原处的命令,但是移动屏幕使得有光标的线成为第一行吗?(拥有最后一行的命令将是一个很好的奖励).
我可以通过手动按Ctrl+ E(或Ctrl+ Y)适当的次数来实现这一点,但是有一个命令以某种方式直接这样做会很好.
有任何想法吗?
我以这个简单的HTML为例:
<div id="editable" contenteditable="true">
text text text<br>
text text text<br>
text text text<br>
</div>
<button id="button">focus</button>
Run Code Online (Sandbox Code Playgroud)
我想要简单的事情 - 当我点击按钮时,我想将插入符号(光标)放入可编辑div中的特定位置.通过网络搜索,我将这个JS附加到按钮点击,但它不起作用(FF,Chrome):
var range = document.createRange();
var myDiv = document.getElementById("editable");
range.setStart(myDiv, 5);
range.setEnd(myDiv, 5);
Run Code Online (Sandbox Code Playgroud)
是否可以像这样设置手动插入位置?
我正在使用一个明确的跨浏览器解决方案,当contentEditable ='on'<div>重新获得焦点时,将光标/插入位置设置为最后的已知位置.看来内容可编辑div的默认功能是每次单击它时将插入符/光标移动到div中文本的开头,这是不合需要的.
我相信当他们离开div的焦点时我必须在变量中存储当前光标位置,然后当他们再次聚焦时重新设置它,但是我无法将它组合在一起,或者找不到工作代码示例.
如果有人有任何想法,工作代码片段或样本我很乐意看到它们.
我还没有任何代码,但这里有我所拥有的:
<script type="text/javascript">
// jQuery
$(document).ready(function() {
$('#area').focus(function() { .. } // focus I would imagine I need.
}
</script>
<div id="area" contentEditable="true"></div>
Run Code Online (Sandbox Code Playgroud)
PS.我已经尝试过这个资源,但它似乎不适用于<div>.也许只适用于textarea(如何将光标移动到可信实体的末尾)
我找到了很多关于如何在contentEditable DIV中设置光标或插入位置的好的,交叉浏览器的答案,但是没有关于如何获取或找到它的位置......
我想要做的是在关键字中知道该div中插入符号的位置.
因此,当用户输入文本时,我可以随时知道其光标在div中的位置.
编辑:我在div内容(文本)中寻找INDEX,而不是光标坐标.
<div id="contentBox" contentEditable="true"></div>
$('#contentbox').keyup(function() {
// ... ?
});
Run Code Online (Sandbox Code Playgroud) 是仅仅是我,还是其他人发现MacOS上的左右箭头键对于编辑文本来说异常缓慢?
与我的Windows机器相比,使用左/右箭头键定位光标似乎在Mac上需要两倍的时间.向上/向下箭头似乎足够快,但左/右箭头只是爬行.我在终端中注意到它最多,编辑最近使用的命令,我现在注意到它在浏览器形式的文本中.
我可以设置Mac偏好来加快对这些键的响应吗?
我有一个文本框,其中已经显示了一个字符串.将光标移到我正在做的文本框中
txtbox.Focus();
Run Code Online (Sandbox Code Playgroud)
但是如何将光标放在文本框中字符串的末尾?
我需要contenteditable像在Gmail备注小部件上一样将插入符移动到节点的末尾.
我在StackOverflow上读取了线程,但这些解决方案基于使用输入,它们不适用于contenteditable元素.
当我第一次打开窗口时,我尝试将插入符/光标位置设置为WPF文本框中字符串值的末尾.当我的窗口打开时,我使用FocusManager在我的文本框上设置焦点.
似乎没什么用.有任何想法吗?
注意,我使用的是MVVM模式,我只从代码中包含了一部分XAML.
<Window
FocusManager.FocusedElement="{Binding ElementName=NumberOfDigits}"
Height="400" Width="800">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBox Grid.Column="0" Grid.Row="0"
x:Name="NumberOfDigits"
IsReadOnly="{Binding Path=IsRunning, Mode=TwoWay}"
VerticalContentAlignment="Center"
Text="{Binding Path=Digits, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<Button Grid.Column="0" Grid.Row="1"
Margin="10,0,10,0"
IsDefault="True"
Content="Start"
Command="{Binding StartCommand}"/>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud) 如何使用jQuery在textarea中获得插入符号的位置?我正在寻找光标从文本开头的偏移,而不是(x,y)位置.
我有一个标准的WinForms TextBox,我想在文本中的光标位置插入文本.我怎样才能获得光标的位置?
谢谢
cursor-position ×10
javascript ×4
caret ×3
jquery ×3
c# ×2
textbox ×2
wpf ×2
arrow-keys ×1
cursor ×1
html ×1
keyboard ×1
macos ×1
performance ×1
scroll ×1
textarea ×1
vim ×1