怎样拦截IE事件

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

怎样拦截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.oncontextmenu=say();

</script>

最后一点:脚本应在<body>之前载入,以确保(尤其是在页面内容巨多情况)脚本语言的正确载入。

————————————————————————————————————————————————

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航