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


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 相关文章推荐
js操作二级联动实现代码
Jul 27 Javascript
JavaScript 判断日期格式是否正确的实现代码
Jul 04 Javascript
Jquery 选中表格一列并对表格排序实现原理
Dec 15 Javascript
js函数中onmousedown和onclick的区别和联系探讨
May 19 Javascript
Jquery插件easyUi表单验证提交(示例代码)
Dec 30 Javascript
jQuery中extend函数的实现原理详解
Feb 03 Javascript
Bootstrap入门书籍之(三)栅格系统
Feb 17 Javascript
原生JS实现跑马灯效果
Feb 20 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
Aug 17 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
Sep 05 Javascript
javascript的惯性运动实现代码实例
Sep 07 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
Feb 27 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生成扭曲及旋转的验证码图片
2013/06/07 PHP
PHP利用REFERER根居访问来地址进行页面跳转
2013/09/28 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
2014/06/25 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
Extjs中ComboBox加载并赋初值的实现方法
2012/03/22 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
在javascript中实现函数数组的方法
2013/12/25 Javascript
Node.js编码规范
2014/07/14 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
jQuery选择器实例应用
2017/01/05 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
Vue开发之watch监听数组、对象、变量操作分析
2019/04/25 Javascript
js面向对象之实现淘宝放大镜
2020/01/15 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
vue实现简单计算商品价格
2020/09/14 Javascript
vue如何使用rem适配
2021/02/06 Vue.js
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
Python解决抛小球问题 求小球下落经历的距离之和示例
2018/02/01 Python
Python动态导入模块的方法实例分析
2018/06/28 Python
python查看列的唯一值方法
2018/07/17 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
Python定义一个Actor任务
2020/07/29 Python
DRF框架API版本管理实现方法解析
2020/08/21 Python
Python程序慢的重要原因
2020/09/04 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
详解Html5原生拖拽操作
2018/01/12 HTML / CSS
京东全球售:直邮香港,澳门,台湾,美国,澳大利亚等地区
2017/09/24 全球购物
介绍一下Java的事务处理
2012/12/07 面试题
学校卫生检查制度
2014/02/03 职场文书
信息技术毕业生自荐信范文
2014/03/13 职场文书
捐资助学倡议书
2014/04/15 职场文书
学习党的群众路线剖析材料
2014/10/09 职场文书
房地产财务经理岗位职责
2015/04/08 职场文书