我想在单击特定链接后将光标放在输入字段中.我正在将它用于一个小型搜索引擎.
想象一下输入字段:[].然后一些链接添加字符串如:丹麦,英格兰等到输入字段.
现在我需要将光标放置如下:"丹麦,[这里]".
这可能吗?
*更新*
我现在正在使用此代码替换文本,您将如何添加"位置光标"-trick?
$('#denmark').click(function(){
$('#searchBoxBig').val('Denmark, ');
});
Run Code Online (Sandbox Code Playgroud)
Nic*_*zyk 41
是的,捕获锚点上的click事件可防止默认操作并专注于该字段.
函数上下文包含已单击的元素,因此您可以计算应用焦点调用的字段.
$(anchorSelector).live("click", function(e) {
e.preventDefault();
$(fieldSelector).focus();
return false;
});
Run Code Online (Sandbox Code Playgroud)
ano*_*ard 28
您可以使用selectionStart
和selectionEnd
属性设置光标在输入框中的位置.如果您不想选择任何文本,只需使它们彼此相等即可.
这是你如何做到这一点:
var input = $("input");
input[0].selectionStart = input[0].selectionEnd = input.val().length;
Run Code Online (Sandbox Code Playgroud)
$(":input[name=xxxx]").focus();
Run Code Online (Sandbox Code Playgroud)
啊,你需要光标在所有文本之后吗?看看这里:jQuery在文本区域中设置光标位置它对输入而不是textarea的工作方式相同.
如果您使用其他选择器,这也适用.