文本框获得焦点和失去焦点的判断代码


Posted in Javascript onMarch 18, 2012

文本框失去焦点事件、获得焦点事件

onBlur:当失去输入焦点后产生该事件
onFocus:当输入获得焦点后,产生该文件
Onchange:当文字值改变时,产生该事件
Onselect:当文字加亮后,产生该文件
onpropertychange 当属性改变发生该事件
无论粘贴 keyup onchange等,最为敏感

先来看javascript的直接写在了input上

<input name="pwuser" type="text" id="pwuser"   class="input" value="楼盘账号"   onBlur="if(this.value=='') this.value='楼盘账号';" onFocus="if(this.value=='楼盘账号') this.value='';" /> 
<input name="pwpwd" type="password"    class="input1" value="******"  onBlur="if(this.value=='') this.value='******';" onFocus="if(this.value=='******') this.value='';">
 

jquery实现方法

对于元素的焦点事件,我们可以使用jQuery的焦点函数focus(),blur()。

focus():得到焦点时使用,和javascript中的onfocus使用方法相同。
如:

$("p").focus(); 或$("p").focus(fn)

blur():失去焦点时使用,和onblur一样。
如:

$("p").blur(); 或$("p").blur(fn)

实例

<form>
<label for="searchKey" id="lbSearch">搜神马?</label>  这里label覆盖在文本框上,可以更好的控制样式
<input id="searchKey" type="text" />
<input type="submit" value="搜索" />
 </form>
 

jquery代码

$(function() {
$('#searchKey').focus(function() {
$('#lbSearch').text('');
});
$('#searchKey').blur(function() {
var str = $(this).val();
str = $.trim(str);
if(str == '')
$('#lbSearch').text('搜神马?');
});
})

好了相当的不错吧

下面是一个简单的例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>无标题文档</title> 
</head> 
<script> 
function tt(){ 
var i=document.form1.text1.value; if(i.length>=6) 
document.getElementById("s1").innerHTML="用户名不能大于6位"; 
else 
document.getElementById("s1").innerHTML=""; 
} 
function a(){ 
var j=document.form1.text2.value; 
if(j.length>=6) 
document.getElementById("s2").innerHTML="密码不能大于6位" 
else 
document.getElementById("s2").innerHTML=""; 
} 

</script> 
<body> 
<form name="form1"> 
用户名:<input type="text" id="text1" value="请输入用户名" onfocus="javascript:document.form1.text1.value=''" onblur="tt()"/> 
<span id="s1"></span><br /> 
密码:<input type="text" id="text2" value="请输入密码" onfocus="javascript:document.form1.text2.value=''" onblur="a()"/> 
<span id="s2"></span><br /> 
<input type="button" id="button" value="登陆" /> 
</form> 
</body> 
</html>

第一种: html5

html5给表单文本框新增加了几个属性,比如:email,tel,number,time,required,autofocus,placeholder等等,这些属性给表单效果带来了极大的效果变化。
其中placeholder就是其中一个,它可以同时完成文本框获得焦点和失去焦点。必须保证input的value值为空, placeholder的内容就是我们在页面上看到的内容。
代码如下:

<input type="text" value="" placeholder="请输入内容" />

第二种: jQuery

原理:让表单的val值等于其title值。
代码如下:

<input type="text" value="" title="请输入内容" />

<script type="text/javascript"> 
$(function() { 
var $input = $("input"); 
$input.each(function() { 
var $title = $(this).attr("title"); 
$(this).val($title); 
$(this).focus(function() { 
if($(this).val() === $title) { 
$(this).val(''); 
} 
}) 
.blur(function() { 
if($(this).val() === "") { 
$(this).val($title); 
} 
}); 
}); 
}); 
</script>

文本框获得焦点、失去焦点调用JavaScript
<%@ Page Language="VB" CodeFile="focus.aspx.vb" Inherits="focus" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
<title>无标题页</title> 
<script language="javascript"> 
function text1_onmouseover(it) 
{ 
it.focus(); 
it.select(); 
it.style.backgroundColor="red"; 
} 
function text1_onmouseout(it) 
{ 
it.onblur; 
it.style.backgroundColor="white"; 
} 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
<asp:TextBox ID="TextBox1" onmouseover="return text1_onmouseover(this);" onblur="text1_onmouseout(this)" runat="server"></asp:TextBox> 
</div> 
</form> 
</body> 
</html>
Javascript 相关文章推荐
用Javascript读取中文COOKIE的解决办法
Feb 15 Javascript
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
Mar 28 Javascript
通过Javascript读取本地Excel文件内容的代码示例
Apr 08 Javascript
JSON.parse()和JSON.stringify()使用介绍
Jun 20 Javascript
Jquery全选与反选点击执行一次的解决方案
Aug 14 Javascript
javascript中Date format(js日期格式化)方法小结
Dec 17 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
Jun 13 Javascript
javascript 删除数组元素和清空数组的简单方法
Feb 24 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
Dec 26 Javascript
React Hooks的深入理解与使用
Nov 12 Javascript
前端Vue项目详解--初始化及导航栏
Jun 24 Javascript
利用原生JS实现欢乐水果机小游戏
Apr 23 Javascript
jQuery控制图片的hover效果(smartRollover.js)
Mar 18 #Javascript
基于jQuery的弹出框插件
Mar 18 #Javascript
js性能优化 如何更快速加载你的JavaScript页面
Mar 17 #Javascript
Jquery命名冲突解决的五种方案分享
Mar 16 #Javascript
让人期待的2011年度最佳 jQuery 插件分享
Mar 16 #Javascript
JavaScript异步调用定时方法并停止该方法实现代码
Mar 16 #Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
Mar 16 #Javascript
You might like
PHP 变量类型的强制转换
2009/10/23 PHP
认识并使用PHP超级全局变量
2010/01/26 PHP
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
PHP远程采集图片详细教程
2014/07/01 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
PHP使用两个栈实现队列功能的方法
2018/01/15 PHP
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
2016/08/09 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
详解AngularJS1.x学习directive 中‘&amp; ’‘=’ ‘@’符号的区别使用
2017/08/23 Javascript
element上传组件循环引用及简单时间倒计时的实现
2018/10/01 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
Node.js path模块,获取文件后缀名操作
2020/11/07 Javascript
[03:40]2014DOTA2国际邀请赛 B神专访:躲箭真的很难
2014/07/13 DOTA
[26:24]完美副总裁、DOTA2负责人蔡玮专访:电竞如人生
2014/09/11 DOTA
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
Python 中迭代器与生成器实例详解
2017/03/29 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
Python DataFrame一列拆成多列以及一行拆成多行
2019/08/06 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
Blank NYC官网:夹克、牛仔裤等
2020/12/16 全球购物
介绍一下JMS编程步骤
2015/09/22 面试题
航空大学应届生求职信
2013/11/10 职场文书
客服部工作职责范本
2014/02/14 职场文书
求职自我评价范文100字
2014/09/23 职场文书
一份教室追逐打闹的检讨书
2014/09/27 职场文书
会计工作岗位职责
2015/02/03 职场文书
安全员岗位职责范本
2015/04/11 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS
opencv读取视频并保存图像的方法
2021/06/04 Python
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
2021/06/29 Javascript
浅谈Vue的computed计算属性
2022/03/21 Vue.js