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


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 相关文章推荐
asp.net+jquery滚动滚动条加载数据的下拉控件
Jun 25 Javascript
js精度溢出解决方案
Dec 02 Javascript
解析js原生方法创建表格效率测试
Jul 08 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
Sep 29 Javascript
3种Jquery限制文本框只能输入数字字母的方法
Dec 03 Javascript
JavaScript常用的弹出广告及背投广告实现方法
Feb 06 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
Dec 03 Javascript
Javascript HTML5 Canvas实现的一个画板
Apr 12 Javascript
Vue.js仿微信聊天窗口展示组件功能
Aug 11 Javascript
Vue实现一个图片懒加载插件
Mar 11 Javascript
JavaScript数组排序功能简单实现
May 14 Javascript
vue3.0 上手体验
Sep 21 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 上传功能实例代码
2010/04/13 PHP
PHP处理JSON字符串key缺少双引号的解决方法
2014/09/16 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
php根据年月获取当月天数及日期数组的方法
2016/11/30 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
Prototype 学习 Prototype对象
2009/07/12 Javascript
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
javascript语言结构小记(一)
2011/09/10 Javascript
也说JavaScript中String类的replace函数
2011/09/22 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
2015/11/13 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
利用vscode调试编译后的js代码详解
2018/05/14 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
vue路由跳转传参数的方法
2019/05/06 Javascript
微信小程序 数据缓存实现方法详解
2019/08/26 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
bootstrap-paginator服务器端分页使用方法详解
2020/02/13 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
[02:43]中国五虎出征TI3视频
2013/08/02 DOTA
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
Python学习笔记(二)基础语法
2014/06/06 Python
对python sklearn one-hot编码详解
2018/07/10 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
基于python实现操作redis及消息队列
2020/08/27 Python
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
耐克波兰官方网站:Nike波兰
2019/09/03 全球购物
土木工程专业大学毕业生求职信
2013/10/13 职场文书
关于人生的感言
2014/01/17 职场文书
应届大学生求职信
2014/07/20 职场文书
村委会贫困证明范文
2014/09/21 职场文书
党员争先创优承诺书
2015/01/20 职场文书
基层党建工作简报
2015/07/21 职场文书