如何查找光标在正文标记中的位置
how to find the position of a cursor inside body tag
我想知道正文标签内的光标位置。实际上,如果光标位置在具有类编辑的span标签内,那么我想防止光标在按Enter键时跳转到新行。如果光标位置不在span标签之外,则按回车键时光标将跳转到新行。如果您提供示例解决方案,我将非常感谢您。我对javascript不是那么强。我知道要阻止光标跳到新行。这个代码将是。
$('p').keydown(function(e){
e.preventDefault();
});
但就我而言,仅当光标位于 span 标签内时,才应进行预防。
提前谢谢。
试试这个:
var canPressEnter = true;
$("span.edit").on("focus", function(){
canPressEnter = false;
}).on("keypress", function(e){
var code = (e.keyCode ? e.keyCode : e.which);
if (canPressEnter === false && code === 13)
{
e.preventDefault();
}
}).on("blur", function(){
canPressEnter = true;
});
http://jsfiddle.net/hescano/S6hzY/
如果您不需要来自其他地方的标志,这将可以:
$("span.edit").on("keypress", function(e){
var code = (e.keyCode ? e.keyCode : e.which);
if (code === 13)
{
e.preventDefault();
}
});
http://jsfiddle.net/hescano/S6hzY/1/
这对我有用:
tinyMCE.init({
theme : "advanced",
mode: "exact",
elements : "elm1",
setup : function(ed) {
ed.onInit.add(function(ed, evt) {
tinymce.dom.Event.add(ed.getDoc(), 'keydown', function(e) {
var existing = tinyMCE.get('elm1').getElement(e);
var code = (e.keyCode ? e.keyCode : e.which);
var spans = tinyMCE.activeEditor.getBody().getElementsByTagName("span");
if (spans.length > 0)
{
for (var i = 0; i < spans.length; i++)
{
if (spans[i].getAttribute("class") === "AMedit")
{
if (code === 13)
{
e.preventDefault();
}
}
}
}
});
});
},
themes...
如果没有选择,则可以使用属性 .selectionStart 或 .selectionEnd(如果没有选择,它们是相等的)。
var cursorPosition = $('#myTextarea').prop("selectionStart");
请注意,这在较旧的浏览器中不受支持,尤其是 IE8-。
希望这对您有所帮助。
$('#myarea')[0].selectionStart; // return start index of cursor
相关文章:
- jquery试图按名称获取按钮位置
- 我可以获得相对于被点击元素的确切点击位置吗
- 谷歌地图固定位置覆盖
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 循环比赛位置算法
- es6 相当于下划线查找位置
- jQuery循环在特定位置暂停
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- 自定义函数中的光标位置
- JavaScript:获取搜索文本在正文上的滚动位置
- 页脚位置固定在任务栏下,但桌面分辨率的<正文>内容
- 粘性标头 - 相对于动态标头长度的正文位置
- 将类添加到动态元素上的正文,在页面上的任意位置再次单击后删除
- 为什么鼠标光标和红线在将缩放 0.5 添加到正文标签时位置不同
- 背景大小设置为包含的正文标签上的位置和缩放元素
- 如何查找光标在正文标记中的位置
- javascript,用于在单击正文中的任何位置时隐藏
- Javascript:单击正文中除其中一个元素外的任何位置
- 无论如何,如果绝对位置元素位于屏幕下方,则使正文滚动条出现
- 当鼠标单击正文中的任何位置时,页面向上滚动