当前位置: 移动技术网 > IT编程>开发语言>JavaScript > jquery聚焦文本框与扩展文本框聚焦方法

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

2019年01月12日  | 移动技术网IT编程  | 我要评论

光标聚焦的位置在最前面

代码如下:


<!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)

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网