怎样拦截IE事件————————————————————————————————————————————————作者:段永义(dyydyy) 主页:http://ware.51.net 单位:中庐机 时间:2001-4-26———————————————————————————————————————————————— 经常上网朋友们可能都有这样的体验,你的鼠标的右击功能可能被拦截住,转页出现警告的对话框,或者被转移到添加到收藏夹等,而没有出现系统右键菜单。谁都知道这是script小程序产生的效果,下面我们来探讨一下此方面的内容。 要实现上述的效果,我们可以将它分为两个步骤:1.捕捉事件 2.事件转移。———————————————————————————————————————————————— 1.捕捉事件 (1).用vbscript捕捉事件相对来说,特别是对熟悉vb的朋友来说,那是再简单不过了,只要定义成以下的形式就可以了。 <script language=vbscript> SUB 对象名_事件() ...
事件转移部分 ... END SUB </script> (2).而用javascipt写的script捕捉事件,理解起来就有的难度,但只要大家多用多理解多记,其实也很简单。 <script lnaguage=javascript for =对象名 event=事件> ...
事件转移部分 ... [return false;//如有必要,将事件断路] </script> 用javascript写脚本还有下面一种方法 <script> file://language 缺省为javascript 对象名.事件=函数()//这个函数不管你是如何定义的,自编的,vbscript编写的,或是系统的(如alert),都可以。 </script> 在以上的两种情况中,需要注明的是,对象名既可以是window,document,也可以是用户自定义的对象。如<div id=obj1>...</div>中的obj1。但有一点大家特别需要注意,对象与事件的搭配。如果此对象没有此事件,如将obj1与oncontextmenu搭配,将会引发牛头不对马嘴的事件啰! 通用对象有以下两个:window、document 通用事件有:onclick,ondblclick,onkeypress,onmouseup,onmousedown ...,详细情况请参见MS网页调试工具。 一般地来说,自定义的对象都具有onclick,ondblclick,onmouseup,onmousedown事件。———————————————————————————————————————————————— 2.事件转移
事件转移就是功能实现过程。想玩什么花,八仙过海,各显神通。 下面介绍一个实例。锁定鼠右键菜单,包括键盘上菜单键,shift+F10功能均同样被锁定。 <script language=vbscript> SUB document_oncontextmenu() msgbox "右键系统菜单已被转移!" END SUB </script>
或: <script for=document event=oncontextmenu> alert("右键系统菜单已被转移!"); return false; </script>或: <script> function say(){alert("右键系统菜单已被转移!");return false;} document.οncοntextmenu=say(); </script>
最后一点:脚本应在<body>之前载入,以确保(尤其是在页面内容巨多情况)脚本语言的正确载入。————————————————————————————————————————————————