欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jquery聚焦文本框与扩展文本框聚焦方法

程序员文章站 2022-08-15 08:29:25
光标聚焦的位置在最前面 代码如下:

光标聚焦的位置在最前面

代码如下:


<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "https://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<title>jquery聚焦文本框 -脚本之家</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<form action="https://www.baidu.com" id="cse-search-box">
<p>
<input type="hidden" name="cx" value="partner-pub-7740261255677392:7064996710" />
<input type="hidden" name="ie" value="utf-8" />
<!--文本框--><input type="text" name="q" size="25" />
<input type="submit" name="sa" value="搜索" />
</p>
</form>
<script type="text/javascript">
$(document).ready(function () {
$("input[name='q']").focus();
})</script>
</body>
</html>



jquery扩展文本框聚焦方法

在不同的中,一个文本框,如果只是直接给文本框设置focus(),那么光标聚焦的位置可能是在最前面。下面的代码则是给jquery扩展一个textfocus方法,用于聚焦文本框,并使光标在最后,使用$("input").textfocus()。也可以传入一个数字参数,设置光标聚焦的位置。如$("input").textfocus(2),则光标在在第二个字符后面。

. 代码如下:


(function($){
$.fn.textfocus=function(v){
var range,len,v=v===undefined?0:parseint(v);
this.each(function(){
if($.browser.msie){
range=this.createtextrange(); //文本框创建范围
v===0?range.collapse(false):range.move("character",v); //范围折叠
range.select(); //选中
}else{
len=this.value.length;
v===0?this.setselectionrange(len,len):this.setselectionrange(v,v); //dom直接设置选区,然后focus
}
this.focus();
});
return this;
}
})(jquery)