- 浏览: 2140603 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (401)
- Agile (16)
- Apache Commons (3)
- Architecture (8)
- DB.MongoDB (5)
- DB.Mysql (3)
- DB.Oracle (34)
- DirectoryService (1)
- DotNet (1)
- English (3)
- Groovy (0)
- Html (28)
- Java (67)
- Java.Aixs (7)
- Java.Cache (2)
- Java.jPBM (1)
- Java.Resin (6)
- Java.Spring (4)
- Java.Struts2 (5)
- Java.Tomcat (16)
- Javascript (45)
- Javascript.Google Map (2)
- Javascript.Jquery (8)
- Life (15)
- Maven&Ant (4)
- Network (5)
- OS.Linux (45)
- OS.Windows (10)
- OS.Windows.Office (1)
- PlayFramework (15)
- Python (28)
- Reading notes (11)
- Security (13)
- Server.Apache (3)
- Server.Nginx (7)
- Test (6)
- Tool (15)
- Work.Solution (15)
- Other (20)
- SSO&CAS&Identity (13)
最新评论
-
hutuxiansheng123:
防火墙、Iptables、netfilter/iptables、NAT 概述 -
dacoolbaby:
非常棒的正则表达式,非常适用。万分感谢。
用python分析nginx的access日志 -
loot00:
您好! 我也遇到了相同的错误信息。我是用f_link_lob ...
LOB variable no longer valid after subsequent fetch -
feihangchen:
@OnApplicationStop public clas ...
Play framework 1.2.3 Jobs定时任务、异步任务、引导任务、触发任务、关闭任务 -
洞渊龙王:
谢谢了
www.w3.org被qiang导致logback报错:Connect reset
需求:
input控件在失去焦点后直接做验证,验证通不过的话,显示相应错误。但是如果失去焦点后点击的下个控件是比较特殊的控件(比如,退出系统),那么不执行验证操作,直接退出系统(防止在系统退出前,还显示验证通不过的错误)。
方法1: 通过下述代码在input的onblur事件中取得当前正在活跃(被点击)的控件,然后根据业务来排除特殊控件()。经测试,本方法适用IE8,在Firefox13、Chrome20测试通不过(target取得的一直是body)。
参考:document.activeElement returns [body] from blur event when focus is changing.
在Firefox下,onfocus事件触发时,document.activeElement取得的是预期的控件,但是在onblur事件触发时,document.activeElement取得的是body,而不是下个获得焦点的控件,官网的解释是,在onblur事件触发时,下个被点击的控件还没有获得焦点,只有在onblur事件触发后,下个控件才得到焦点,因此onblur触发时,document.activeElement返回body。
方法2:延迟验证(纯Javascript,适用所有浏览器)
由于onblur后特殊控件的点击事件 一定 发生在input控件的onblur事件以后,因此,在onblur事件中是无法直接得到将来的状态:特殊控件是否被点击了
可以通过把onblur要做的验证操作做一小段时间的后移,然后在做真正验证操作之前,检查特殊控件时候被点击,如果没有,继续验证,否则不做验证操作。
方法3:jquery 1.6后增加了:focus选择器 Firefox浏览器下,onfocus事件取到的是自己,onblur取到的是空
参考::focus selector
查看当前使用的是哪个版本的jQuery
查看各种浏览器以及版本信息
setInterval:按照指定的周期(毫秒单位)来调用函数或计算表达式。setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
setInterval("action()", 5000);
setTimeout:指定的毫秒数后调用函数或计算表达式。setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。
带参数方法使用setTimeout要注意,setTimeout("函数名("+参数+")",毫秒数),这里的参数只能是字符串形式的,而不能传递一个对象。如果要传递对象,可以参考如下代码:
用setTimeout实现的每隔固定时间循环执行回调函数,和setInterval的区别:setInterval简单地按照设定的时间间隔回调函数,而setTimeout的时间间隔是设定的时间 + 函数执行消耗的时间。如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout。
input控件在失去焦点后直接做验证,验证通不过的话,显示相应错误。但是如果失去焦点后点击的下个控件是比较特殊的控件(比如,退出系统),那么不执行验证操作,直接退出系统(防止在系统退出前,还显示验证通不过的错误)。
方法1: 通过下述代码在input的onblur事件中取得当前正在活跃(被点击)的控件,然后根据业务来排除特殊控件()。经测试,本方法适用IE8,在Firefox13、Chrome20测试通不过(target取得的一直是body)。
参考:document.activeElement returns [body] from blur event when focus is changing.
在Firefox下,onfocus事件触发时,document.activeElement取得的是预期的控件,但是在onblur事件触发时,document.activeElement取得的是body,而不是下个获得焦点的控件,官网的解释是,在onblur事件触发时,下个被点击的控件还没有获得焦点,只有在onblur事件触发后,下个控件才得到焦点,因此onblur触发时,document.activeElement返回body。
// 只适用IE var target = event.explicitOriginalTarget || document.activeElement; alert(target.outerHTML);
方法2:延迟验证(纯Javascript,适用所有浏览器)
由于onblur后特殊控件的点击事件 一定 发生在input控件的onblur事件以后,因此,在onblur事件中是无法直接得到将来的状态:特殊控件是否被点击了
可以通过把onblur要做的验证操作做一小段时间的后移,然后在做真正验证操作之前,检查特殊控件时候被点击,如果没有,继续验证,否则不做验证操作。
specialClicked = false, specialClickEvent: function(){ specialClicked = true; // 特殊事件的操作 }, onblurEvent: function(event){ // 适用所有浏览器,延迟100ms setTimeout(function(){onblurEventDelay();}, 100); }, onblurEventDelay: function(event){ if (!specialClicked) { // 这里做真正的验证操作 } },
方法3:jquery 1.6后增加了:focus选择器 Firefox浏览器下,onfocus事件取到的是自己,onblur取到的是空
参考::focus selector
查看当前使用的是哪个版本的jQuery
// Returns string Ex: "1.3.1" $().jquery; // Also returns string Ex: "1.3.1" jQuery.fn.jquery;
查看各种浏览器以及版本信息
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <script type="text/javascript"> $(function(){ if($.browser.msie&&($.browser.version == "6.0")){ alert("<img src='browser/IE.png'>This is MS IE "+$.browser.version); } else if($.browser.msie&&($.browser.version == "7.0")){ alert("<img src='browser/IE.png'>This is MS IE "+$.browser.version); } else if($.browser.msie&&($.browser.version == "8.0")){ alert("This is MS IE "+$.browser.version); } else if($.browser.msie&&($.browser.version == "9.0")){ $("#browser").html("This is MS IE "+$.browser.version); } else if($.browser.safari){ $("#browser").html("<This is safari!"); } else if($.browser.webkit){ $("#browser").html("This is chrome!"); } else if($.browser.mozilla){ $("#browser").html("This is firefox!"); } else if($.browser.opera){ $("#browser").html("This is opera"); } else{$("#browser").html("i don't konw!");} }) </script>
setInterval:按照指定的周期(毫秒单位)来调用函数或计算表达式。setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
setInterval("action()", 5000);
setTimeout:指定的毫秒数后调用函数或计算表达式。setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。
setTimeout(action, 5000) setTimeout("action()", 5000) function action () { // do something setTimeout(action, 5000); }
带参数方法使用setTimeout要注意,setTimeout("函数名("+参数+")",毫秒数),这里的参数只能是字符串形式的,而不能传递一个对象。如果要传递对象,可以参考如下代码:
<script language="javascript"> var __sto = setTimeout; window.setTimeout = function(callback, timeout, param) { var args = Array.prototype.slice.call(arguments, 2); var _cb = function() { callback.apply(null, args); } __sto(_cb, timeout); } //测试代码 function shihuan(a) { alert(a); } function yushibo(a, b, c) { alert(a + b + c); } var a = new Object(); window.setTimeout(shihuan, 1000, a); window.setTimeout(yushibo, 2000, a, 6, 7); // 此例中,setTimeout用法,setTimeout(回调函数, 时间, 参数1, ..., 参数n)。 </script>
用setTimeout实现的每隔固定时间循环执行回调函数,和setInterval的区别:setInterval简单地按照设定的时间间隔回调函数,而setTimeout的时间间隔是设定的时间 + 函数执行消耗的时间。如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout。
发表评论
-
CSS link、@import、media type、media query
2012-08-22 10:42 1878CSS link、@import共同点:都是为了加载CSS文件 ... -
IE兼容模式及客户端兼容模式、服务器端兼容模式设置
2012-08-20 16:24 12813IE兼容模式: 为了帮助 ... -
IE 条件注释(转)
2012-08-20 14:20 897一、条件注释简介 IE中的条件注释(Conditional ... -
Css样式覆盖顺序
2012-08-13 16:34 51851,css样式选择器的优先级为:“元素上的style” &g ... -
css属性 :after :before content css伪元素
2012-08-01 15:47 2076:after:伪元素在元素之后添加内容。 这个伪元素允许创作人 ... -
CSS3 圆角属性border-radius、边框阴影属性box-shadow、文字阴影text-shadow、文本裁剪省略text-overflow
2012-07-31 15:37 10187相关CSS圆角属性: border-radius:CSS3标准 ... -
html中label宽度设置、非替换元素和替换元素
2012-07-05 09:02 12241<label style="float:l ... -
css属性 background
2012-06-21 14:12 880参考:http://www.w3school.com.cn/c ... -
css属性 list-style 纵向菜单、横向菜单
2012-06-20 09:49 6628参考:ul li css 做横向菜 ... -
css属性 text-decoration outline clear overflow text-indent
2012-06-20 09:02 1120参考:http://www.w3school.co ... -
pageX, pageY, screenX, screenY, clientX, clientY
2012-06-18 11:03 1489pageX, pageY, screenX, screenY, ... -
css position, display, float 内联元素、块级元素
2012-06-18 10:16 5814参考:jQuery offset,positi ... -
jQuery offset,position,offsetParent,scrollLeft,scrollTop html控件定位 css position属
2012-06-16 10:17 9295定位应用:点击一个按钮,然后在按钮的右边弹出一个提示框 1,提 ... -
使用ajax和history.pushState无刷新改变页面URL onpopstate(转)
2012-04-10 13:20 11525var htmlData1 = $.ajax( ... -
HTTP Chunk分块&java.io.IOException: CRLF&missing CR
2012-03-22 10:29 14212总结: HTTP 1.1时,Respons ... -
Fiddler常用操作&设置
2012-03-21 14:07 24188Fiddler是一个Web调试代理 ... -
UrlEncoder,UrlDecoder, 字符集对Encoder的影响
2012-03-02 16:21 4690字符集对Encoder的影响,其实就是字符在不同字符集下编码不 ... -
HTTP Cookie构成及特殊属性
2012-02-08 15:44 1519Set-Cookie: name=value; [expire ... -
history.back,Firefox 必须发送将会导致重复之前动作的数据(例如搜索或者下订单)。
2011-10-11 10:32 4968Firefox插件Web Developer,禁用了缓存 当 ... -
iframe嵌套访问含Session页面,Session丢失
2011-09-01 16:11 3522在网站www.a.com的页面用iframe嵌入www.b.c ...
相关推荐
JavaScript+jQuery 网页特效设计 jQuery事件基础 1、jQuery事件概述 jQuery对JavaScript操作DOM事件进行了封装,形成了更好的事件处理机制; 包括常用事件、事件绑定与解绑...bind() 方法:可以向被选元素添加一个或多
介绍两个方法和种是利用javascript onFocus onBlur来判断焦点和失去焦点,加一种是利用jquery $("p").blur(); 或$("p").blur(fn)来实现,有需要的朋友可以参考一下
这是一个功能强大的js日期控件,引用时加写: onfocus="showCalendar(this);
jqueryTable编辑的实现 鼠标点击表格即可编辑,onblur时候出发Ajax时间 保存数据(带娇艳功能)。
网上的一个开源的控件,经过本人修改,展示出各式各样的日历控件,使用方便。给input添加一个onclick事件即可,无需再添加onFocus和onBlur事件,样式灵活多样,操作简便。
主要介绍了详解HTML onfocus获得焦点和onblur失去焦点事件的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
onblur事件,鼠标离开表单input框时触发的事件
OK这一切都可以用JS来实现,具体思想很简单啦,就是编写事件获取dom节点,判断对象的取值呀? 那么编写什么事件?应该是onblur事件~。而且要为两个密码框都加上失去焦点的blur事件。利用jQuery比较方便勒。 话不多...
文本框失去焦点事件、获得焦点事件 onBlur:当失去输入焦点后产生该事件 onFocus:当输入获得焦点后,产生该文件 Onchange:当文字值改变时,产生该事件 Onselect:当文字加亮后,产生该文件 onpropertychange 当属性...
Web浏览器:Microsoft Internet Explorer 6.0及以上版本 Web服务器:Tomcat 5.5.20及以上版本 Java运行时环境:Java5.0 JRE及以上版本 2.本书所附光盘范例 第1章(\c01) 示例描述:演示JavaScript的简单应用及...
获得焦点:onfocus 失去焦点:onblur 当事件就发生在获得内容的当前元素上: this直接获得当前内容对象。可以代替当前对象完成一切操作,拥有当前对象的所有属性 前端优化:js中最好用三目运算代替if else 11....
JavaScript的onfocus与onblur用法文章资源下载,供练习使用
Back to my frame 在网页中加入这个action后浏览器将会判断当前的页面是否包含在一 个帧中,如果结果为否则会自动跳转到指定的url地址。 History Go 2.0 这个Behavior的作用是在网页中增加一个“History Go”的...
onBlur事件是光标失去焦点时发生的事件。 可以编如下例子 1.html <HTML> <HEAD> <TITLE>使用onBlur事件处理程序</TITLE> </HEAD> <BODY BGCOLOR=lavender> <FORM name=F1&...
浏览器事件 浏览器事件指载入文档直到该文档被关闭期间的浏览器事件,如浏览器载入文档事件onload、关闭该文档事件onunload、浏览器失去焦点事件onblur、获得焦点事件onfocus 等。 先考察如下的代码: 代码如下: //...
onblur 事件会在对象失去焦点时发生。 语法如下: 代码如下:onblur=”SomeJavaScriptCode” SomeJavaScriptCode 必需。规定该事件发生时执行的 JavaScript。 支持该事件的 HTML 标签: , , , <area>, , , , ,...
一个用纯javascript写的美国时间的日历控件,只需在html标签中使用 onblur(可以改变)='return calendar()' 即可
js的日历时间控件 if(typeof Control=="undefined"){Control={}}Control.DatePicker=Class.create({initialize:function(element,options){this.element=$(element);if(dp=this.element.retrieve("datepicker")){dp....
实现一个在编辑框input下根据输入内容显示匹配内容的下拉列表。 实现思路很简单: 将匹配的内容放在一个div中,input输入时把匹配内容的div显示在input下面。 在做的过程中遇到一个棘手的问题: input的onblur中隐藏...