当用户edittext离开触发事件页面时如何触发一个事件

js离开当前页面时触发的函数:
window.onbeforeunload=fun() ;
function fun(return 'msg';) ;
这样子在浏览器在捕捉到页面即将离开的时候就会弹出提示框,显示msg的内容,询问你确定或者取消
目前三大主流浏览器中firefox和IE都支持onbeforeunload事件
另外还有一个相似的函数Onunload:
Onunload,onbeforeunload都是在刷新或关闭时调用,可以在&script&脚本中通过window.onunload来指定或者在&body&里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。
  Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。Onunload是无法阻止页面的更新和关闭的。而 Onbeforeunload 可以做到。
1、onbeforeunload事件:
  说明:目前三大主流浏览器中firefox和IE都支持onbeforeunload事件,opera尚未支持。
  用法:
   ·object.onbeforeunload = handler
   ·&element onbeforeunload = "handler" … &&/element&
  描述:
   事件触发的时候弹出一个有确定和取消的对话框,确定则离开页面,取消则继续待在本页。handler可以设一个返回值作为该对话框的显示文本。
  触发于:
   ·关闭浏览器窗口
   ·通过地址栏或收藏夹前往其他页面的时候
   ·点击返回,前进,刷新,主页其中一个的时候
   ·点击 一个前往其他页面的url连接的时候
   ·调用以下任意一个事件的时候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit.
   ·当用window open打开一个页面,并把本页的window的名字传给要打开的页面的时候。
   ·重新赋予location.href的值的时候。
   ·通过input type="submit"按钮提交一个具有指定action的表单的时候。
  可以用在以下元素:
   ·BODY, FRAMESET, window
  平台支持:
   IE4+/Win, Mozilla 1.7a+, Netscape 7.2+, Firefox0.9+
  示例:
   &html xmlns=""&
   &head&
   &meta http-equiv="Content-Type" content="text/ charset=gb2312″ /&
   &title&onbeforeunload测试&/title&
   &script&
   function checkLeave(){
    event.returnValue="确定离开当前页面吗?";
   &/script&
   &/head&
   &body onbeforeunload="checkLeave()"&
   &/body&
   &/html&
2、onunload事件
  用法:
   ·object.onbeforeunload = handler
   ·&element onbeforeunload = "handler"&&/element&
  描述:
   当用户关闭一个页面时触发 onunload 事件。
  触发于:
   ·关闭浏览器窗口
   ·通过地址栏或收藏夹前往其他页面的时候
   ·点击返回,前进,刷新,主页其中一个的时候
   ·点击 一个前往其他页面的url连接的时候
   ·调用以下任意一个事件的时候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit.
   ·当用window open打开一个页面,并把本页的window的名字传给要打开的页面的时候。
   ·重新赋予location.href的值的时候。
   ·通过input type="submit"按钮提交一个具有指定action的表单的时候。
  示例:
   &html xmlns=http://www.w3.org/1999/xhtml&
   &head&
   &meta http-equiv="Content-Type" content="text/ charset=gb2312″ /&
   &title&onunload测试&/title&
   &script&
   function checkLeave(){
    alert("欢迎下次再来!");
   &/script&
   &/head&
   &body onunload="checkLeave()"&
   &/body&
   &/html&114网址导航以下试题来自:
单项选择题阅读以下说明,根据要求回答下面问题
某企业制作了一个电子商务网站,下图是网站向消费者收集反馈信息的反馈表。用户在填写反馈表时,需要正确地输入自己的相关信息,并且弹出提示信息,否则不能够提交成功。该功能通过调用外部Javascript脚本checkinput.js文件实现。系统的数据库名为shangwu01,所在服务器IP地址为123.254.198.67。
某网站的用户反馈表示意图在网站的运行过程中,公司决定对用户意见进行调查,并制作了一个调查页面,该网页在用户离开网站时,可以自动打开。为完成此项功能,应选择______事件触发该动作。A.onfocus B.onload C.onresize D.unonload
为您推荐的考试题库
你可能感兴趣的试题
1.填空题 参考答案A=0、B=0、C=1(或A=0、B=1、C=1)2.问答题 参考答案D1:捐赠人信息表 D2:已联系的捐赠人表
D3:捐赠表
D4:已处理捐赠表3.问答题 参考答案活动E的总时差为2周;
活动E的自由时差为2周4.问答题 参考答案D C A B5.问答题 参考答案shangwu01
123.254.198.67
热门相关试卷
最新相关试卷&&&& Onunload与Onbeforeunload
Onunload,onbeforeunload都是在刷新或关闭时调用,可以在&script&脚本中通过window.onunload来指定或者在&body&里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。&&& Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。Onunload是无法阻止页面的更新和关闭的。而 Onbeforeunload 可以做到。曾经做一个考试系统,涉及到防止用户半途退出考试(有意或者无意),代码如下:
Code&script&type="text/javascript"&&&&&!--&&&&&&&&&window.onbeforeunload&=&onbeforeunload_&&&&&&&window.onunload&=&onunload_&&&&&&&function&onbeforeunload_handler(){&&&&&&&&&&&var&warning="确认退出?";&&&&&&&&&&&&&&&&&&&return&&&&&&&&}&&&&&&&&&&&&&&function&onunload_handler(){&&&&&&&&&&&var&warning="谢谢光临";&&&&&&&&&&&alert(warning);&&&&&&&}&&&//&--&&&&&/script&&&&
同时在网上找到了一篇相关的文章来分享下:
 B/S架构的应用系统,除了需要使用一些动态脚本语言进行数据库等一系列服务器资源的访问,还需要适当使用客户端脚本进行页面的界面动态显示、提交服务器前的预处理、根据用户的操作行为进行合理的事件处理等等。你可能认为最流行的语言是Java、Basic、C、C++之类的高级语言,实质上Javascript也是当之无愧的流行语言。它的奥妙远比你想象中的还要多。如果你看过Google的GMail和Map,你要知道Javascript也可以让世界变得触手可及将技术变得炉火炖青的地步。  本文将从实际中经常遇到的几个问题入手,着手用Javascript脚本巧妙解决这些问题,以此抛砖引玉希望给大家带来帮助。强制关闭窗口后清除用户Session  一般的会员式网站,在会员登陆成功后都会建立会话或者Cookie,然后可以直接在站点间共享会员的数据。而这些数据通常放置在服务器内存中。在会员退出时,按照正常的设计思路是执行退出功能释放会员登陆成功后所使用的服务器和客户端等相关资源。现在经常遇到的问题是,用户经常直接关闭网页而不是我们所期望执行的退出程序。这样就会造成用户登陆后的资源不会及时释放而加重服务器负荷,随着问题的进一步累积逐步的放大从而影响服务器的性能。  有幸的是在网络上找到针对IE浏览器捕获用户使用Alt+F4、标题栏按右键关闭、双击标题栏、直接按关闭按钮的事件的方法。当然对于一些直接关闭进程或者最小化的方式在任务栏进行关闭是不能正常捕获的,但现在所涉及的解决方案,可以解决大多数存在的问题。&script language="javascript"&function window.onUnload(){var newWif((window.screenLeft&=10000 && window.screenTop&=10000)||event.altKey) { newWindow=window.open('退出程序地址','网页名称','width=0,height=0,top=4000,left=4000');//新窗口将在视区之外打开newWindow.opener=sleep(5000);//执行休眠操作以便能够处理完新打开窗口执行代码newWindow.close();//新窗口关闭……//其他需要执行的退出程序序列可参考上面进行添加} }function sleep(milisecond){var currentDate,beginDate=new Date();var beginHour,beginMinute,beginSecond,beginMs;var hourGaps,minuteGaps,secondGaps,msGaps,beginHour=beginDate.getHours();beginMinute=beginDate.getMinutes();beginSecond=beginDate.getSeconds();beginMs=beginDate.getMilliseconds();do{currentDate=new Date();hourGaps=currentDate.getHours() - beginHminuteGaps=currentDate.getMinutes() - beginMsecondGaps=currentDate.getSeconds() - beginSmsGaps=currentDate.getMilliseconds() - beginMs; if(hourGaps&0) hourGaps+=24; //考虑进时进分进秒的特殊情况gaps=hourGaps*3600+ minuteGaps*60+ secondGgaps=gaps*1000+msG}while(gaps&milisecond); }&/script&说明:window.screenLeft = 10000 + 边框宽 (2×2) = 10004window.screenTop = 10000 + 工具栏高 + 标题栏高 = 10097需要说明的,在onBeforeUnload中屏幕这些坐标属性都是正常数值。screenLeft:获取浏览器客户区左上角相对于屏幕左上角的 x 坐标。screenTop:获取浏览器客户区左上角相对于屏幕左上角的 y 坐标。
  如果需使用window.location指定URL进行处理,那么需放在onBeforeUnload 事件中而不是onUnload事件。在onUnload里不要使用window.close,因为对象销毁前会立即触发该事件,无法有效执行由被销毁对象所引发的引用。而onBeforeUnload是页面将要被卸载前触发的事件。解决的方法是新开一个窗口再将之关闭。而所谓的清除实质上就是把做好退出功能的页面,直接以打开新窗口方式的调用。在调用到关闭的时候要尽可能停留一段时间确保全部代码被有效触发。需要说明的是onUnload事件,在页面前进、后退、刷新、转向、关闭后都会触发。因此要捕获强制关闭窗口的特殊事件,需要在代码上加上判断条件,以保证在符合情形的条件下触发。该段代码已经成功地进行测试。对话框取值  在网页中,经常会使用一种类似对话框的设计,为了方便用户输入、快速选择经常会打开一个页面,再做出选择后关闭该页面并将用户选择的数据传递到父页面做后续处理。   前些时间,看到一种比较原始的方法,不是很通用,直接在子页面里修改父页面某个控件的数值再加之关闭。这样做的缺点是,不适合大规模的调用。假设父页面有开始日期与结束日期两个框需要接受日历页面的输入,那么你需要做两个不同的日历页面才能保证两个框都有对应的数据。这在大型工程中是不好的设计方法。多样化的外部环境,如果不考虑通用的方法,将增加维护的难度同时降低开发的效率。  IE支持模态窗口,在对话框的页面中通过设置的window.returnValue的数值,在父窗体中靠调用window.showModalDialog获取返回值,无效将返回null(打开的页面不存在)或undefined(window.returnValue没有设置)。我设计了getDialog函数,用于获取子窗体的返回值,异常或者无效将返回空串否则为正常返回数据。而原先的window.open方式,我也改进一下设计了getWindowReturnValue,通过侦听子窗体的window.returnValue,如果有数据将开始终止。如果窗体仍然打开则自动关闭。同样两个函数都需要进行正确的设置window.returnValue。//在IE中打开模态对话框并返回数据//需要在打开页面设置window.returnValue,错误或无效返回空function getDialog(url){var returnVtry{returnValue=window.showModalDialog(url); }catch(e){ return ""; } return (returnValue==null||returnValue=="undefined")?"":returnV}//使用window.open来获取子窗口数据,需要动态设置window.returnValue//参数为:地址、名称、宽度、高度,不设置宽度与高度请设为0。function getWindowReturnValue(url,name,width,height){var opener=var spec="toolbar=0,menubar=0,scrollbars=0,resizeable=0";var returnValue=if(width&0) spec=spec+",width="+String.valueOf(width);if(height&0){spec=spec+",height="+String.valueOf(height);}opener=window.open(url,name,spec);while(!opener.window.closed){ returnValue=opener.window.returnVif(returnValue!=null&&returnValue.length&0)}if(!opener.window.closed) opener.window.close();return returnV }
阅读(...) 评论()

我要回帖

更多关于 页面关闭时触发事件 的文章

 

随机推荐