怎样拦截IE事件

类别:VC语言 点击:0 评论:0 推荐:

                                     怎样拦截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>之前载入,以确保(尤其是在页面内容巨多情况)脚本语言的正确载入。
————————————————————————————————————————————————
 

 

 

 

 

 

 

 

 


 

本文地址:http://com.8s8s.com/it/it3712.htm