在js中查找queryform中的textfield q并将其聚焦:
JS:
if($("#queryform").length){
document.queryform.q.focus();
}
HTML:
<form id="queryform" name="queryform" action="" method="post"><input type="text" name="q" /></form>
当前功能
在chrome中:找到文本字段并聚焦并突出显示文本
在FF和IE中:文本区域被聚焦,标记位于后面
想要的功能
在所有浏览器中都相同:文本字段是聚焦的,文本未突出显示,标记在文本的末尾
jquery的
我已在网站上使用jquery,因此最好使用整洁的jquery解决方案
答案 0 :(得分:2)
请参阅此解决方案:
Use JavaScript to place cursor at end of text in text input element
第一个解决方案不起作用,但他的脚本确实如此,请参阅http://jsfiddle.net/WcGLP/
(function($)
{
jQuery.fn.putCursorAtEnd = function()
{
return this.each(function()
{
$(this).focus()
// If this function exists...
if (this.setSelectionRange)
{
// ... then use it
// (Doesn't work in IE)
// Double the length because Opera is inconsistent about whether a carriage return is one character or two. Sigh.
var len = $(this).val().length * 2;
this.setSelectionRange(len, len);
}
else
{
// ... otherwise replace the contents with itself
// (Doesn't work in Google Chrome)
$(this).val($(this).val());
}
// Scroll to the bottom, in case we're in a tall textarea
// (Necessary for Firefox and Google Chrome)
this.scrollTop = 999999;
});
};
})(jQuery);