我以这个简单的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)
是否可以像这样设置手动插入位置?
我正在使用一个名为jQuery TextRange的插件来获取光标在输入中的位置(在我的例子中,是一个textarea)并设置位置.
但现在我有一件事 - 我认为 - 更难解决.我想知道在jQuery中是否存在一个像"光标位置已更改"的事件.我的意思是:
$('#my-input').on('cursorchanged', function(e){
// My code goes here.
)};
Run Code Online (Sandbox Code Playgroud)
我想知道光标在输入/文本区域内移动的时间,无论是通过箭头键还是鼠标单击都无关紧要.我是一个jQuery新手,但我认为在jQuery上不存在这样的事件,或者存在?
我有一个NSTextField,它用作扩展的NSTextFieldCell,它创建一个自定义字段编辑器,拦截并记录关键事件.(了解关键事件对于应用程序很重要,但是文本字段仍然应该像往常一样工作,通过调用[super ...]方法).这是官方文档对此问题的建议.
我确实keyUp在打字时收到大多数活动,但在某些情况下我没有收到.当按下一个附有动作的组合键时,似乎会发生这种情况.例如Cmd-Shift-Left,不发出keyUp事件.该输入使得从点到开头的整行显示为选中,但是已经keyDown接收到.
在那些缺失的情况下,当-performKeyEquivalent:通过覆盖它来看时,我看到它被称为.为什么keyUp没有交付?