有人知道如何将文本框中的键盘插入符移动到特定位置吗?
例如,如果一个文本框(例如输入元素,而不是文本区域)中有50个字符,并且我想在插入字符20之前放置插入符号,那么我该如何处理呢?
这与这个问题不同:jQuery在文本区域设置光标位置,这需要jQuery.
问题的旧版本如下,在研究了更多之后,我决定重新解释这个问题.像以前一样的问题是,我需要在没有突出显示文本的情况下关注一个可信的div,直接进行焦点突出显示Chrome中的文本.
我意识到人们通过重置textarea中的插入位置来解决textareas中的这个问题.我怎么能用一个满足的元素来做到这一点?我试过的所有插件只适用于textareas.谢谢.
问题的老措辞:
我有一个我想要关注的可满足的元素,但只是将光标放在元素的前面,而是选择所有内容.
elem.trigger('focus');使用jquery选择chrome中整个元素中的所有文本.Firefox行为正确,将插入符号设置在文本的前面.我怎样才能让Chrome按照我想要的方式行事,或者重点关注的可能不是我想要的.
谢谢大家.
当您在Stackoverflow中单击"提问"时,您会看到一条文字"您的编程问题是什么?具有描述性."
我想要同样的事情,我需要的是将光标移动到文本字段的开头.我怎么用jquery做到这一点?
我想在单击特定链接后将光标放在输入字段中.我正在将它用于一个小型搜索引擎.
想象一下输入字段:[].然后一些链接添加字符串如:丹麦,英格兰等到输入字段.
现在我需要将光标放置如下:"丹麦,[这里]".
这可能吗?
*更新*
我现在正在使用此代码替换文本,您将如何添加"位置光标"-trick?
$('#denmark').click(function(){
$('#searchBoxBig').val('Denmark, ');
});
Run Code Online (Sandbox Code Playgroud) 我有一个textarea,当我点击它时,我想将插入符号移动到最后一个字符 Something[caret]
function moveCaret(){
// Move caret to the last character
}
Run Code Online (Sandbox Code Playgroud)
<textarea onclick="moveCaret();">
Something
</textarea>
Run Code Online (Sandbox Code Playgroud)
据我所知,TextRange对象在某种程度上是可行的,但我真的不知道如何使用它
编辑:我很想看到纯粹的JavaScript解决方案,所以没有图书馆请.
经过大量搜索后,我找到了以下主题:
不幸的是,在所有帖子中都没有给出完整的表单嵌入代码或真实示例.现在我只是不知道如何在我的表单中包含nemisj的代码(在第一个链接上)或Mark的代码(在第二个链接上):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
<script>
$(document).ready(function(){
$("#site").focus(function(){
if( this.value == this.defaultValue ) {
$(this).val("http://");
}
});
});
</script>
</head>
<body>
<form action="#" method="post">
<input id="name" type="text" name="name" value="Name" /><br />
<input id="site" type="text" name="mail" value="Website" /><br />
<input type="submit" value="Send">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人可以帮助我,因为我被困住了!
提前谢谢了!
这是编辑过的代码,但它仍然不起作用:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
<script>
function setCursor(node,pos){
var …Run Code Online (Sandbox Code Playgroud) http://jsfiddle.net/adamadam123/gEEVM/4/
我正在构建一个允许用户添加表情符号的聊天系统.
就像在上面的jsfiddler示例中一样,我在textarea中获取当前文本,将其与所选的表情符号组合,然后将此文本添加回textarea.
$(function() {
var data = $('textarea').val();
var emoticon = ':)';
$('textarea').val(data + emoticon);
$('textarea').focus();
});
Run Code Online (Sandbox Code Playgroud)
问题是当我将焦点设置回textarea时,光标位于文本的开头.
如何将光标设置为文本末尾 - 以允许进一步输入?
注意:由于与工作相关的更改,我无法再验证此处发布的答案.最有可能的是,我永远无法接受下面的答案.这里发布的信息对IMO很有用,所以我会保持原样.如果您认为自己知道答案,请随时回答,我们将让社区决定哪些是有用的.
背景
我正在为iPod Touch 开发一个独立的Web应用程序.我的一个要求是在页面加载时关注文本字段,以便用户可以连续地执行任务(例如,使用条形码阅读器).
问题
问题是它确实关注于有问题的文本字段,但键盘不会上升.这有解决方法吗?或者这是Apple的设计?
示例Html
我不确定如何将它放入代码片段,但这是我一直在尝试的地方:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0.0">
<meta name="apple-mobile-web-app-capable" content="yes">
<link rel="apple-touch-icon" href="https://cdn57.androidauthority.net/wp-content/uploads/2016/06/android-win-2-300x162.png">
<title>TESTING</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script>
// javascript goes here
</script>
</head>
<body>
<section id="content">
<div class="container" style="margin-top: 50px;" >
<p>Testing textfield focus</p>
<form method="POST">
<div class="row">
<div class="col-xs-12">
<input type="text" class="form-control first-responder" />
</div>
<div class="col-xs-12">
<button type="submit" class="btn" style="width: 100%" …Run Code Online (Sandbox Code Playgroud) 我正在研究BBCode编辑器,这里是代码:
var txtarea = document.getElementById("editor_area");
function boldText() {
var start = txtarea.selectionStart;
var end = txtarea.selectionEnd;
var sel = txtarea.value.substring(start, end);
var finText = txtarea.value.substring(0, start) + '[b]' + sel + '[/b]' + txtarea.value.substring(end);
txtarea.value = finText;
txtarea.focus();
}
Run Code Online (Sandbox Code Playgroud)
一切都没问题,除了一个是文本光标的位置.当我点击boldText按钮时,它将光标位置设置在Textarea的末尾!
实际上,我希望能够将光标位置设置为某个索引.我想要这样的东西:
txtarea.setFocusAt(20);
Run Code Online (Sandbox Code Playgroud) 我已经找到了一些资源,用于将光标放在文本末尾的文本区域中,但我无法理清一种简单的方法,使其在开头出现.
我正在使用一些文本预填充textarea,并且只是想让用户更容易.