【WebGUI】——IE,Firefox下通用的js触发click事件方法

来源:互联网 发布:淘宝店铺哪里购买 编辑:程序博客网 时间:2024/04/30 03:41

 

 

 

原文链接:http://grim1980.blog.sohu.com/136391528.html

 

function DoClick()  
    {  
       if(document.all){
          document.getElementById("a3").click();    
        }        
     else
    {
      var evt = document.createEvent("MouseEvents");
       evt.initEvent("click",true,true);
       document.getElementById("a3").dispatchEvent(evt);
     }  
   }   

   

void initEvent(String eventTypeArg,  boolean canBubbleArg,  boolean cancelableArg)
initEvent 方法用于初始化通过 DocumentEvent 接口创建的 Event 的值。此方法只能在通过 dispatchEvent 方法指派 Event 之前调用,尽管在该阶段可以多次调用它(如有必要)。如果被多次调用,则最后一次调用优先。如果从 Event 接口的子类调用,则只修改在 initEvent 方法中指定的值,所有其他属性保持不变。

参数:
eventTypeArg - 指定事件类型。此类型可以是当前在此规范中定义的任何事件类型,或是一个新的事件类型。该字符串必须是 XML 名称。任何新的事件类型一定不能以字符串 "DOM" 的大写、小写或混合大小写版本开头。此前缀是为以后的 DOM 事件集保留的。还强烈推荐添加自己的事件的第三方使用自己的前缀以避免混淆,降低与其他新的事件发生冲突的可能性。
canBubbleArg - 指定该事件是否可以 bubble。
cancelableArg - 指定是否可以阻止事件的默认操作.


下表列出了 eventType 的合法值和每个值创建的事件接口:

参数 事件接口 初始化方法

HTMLEventsHTMLEventiniEvent()MouseEventsMouseEventiniMouseEvent()UIEventsUIEventiniUIEvent()

用该方法创建了 Event 对象以后,必须用上表中所示的初始化方法初始化对象。

  1. 建立 Event 物件
    使用 document.createEvent (eventType) 來建立 Event 事件。
    其中的 eventType 參數(字串)有以下幾種:
    • Events
      包含所有的 event types。
       
    • HTMLEvents
      包括「abort」、「blur」、「change」、「error」、「focus」、「load」、「reset」、「resize」、「scroll」、「select」、「submit」和「unload」。
       
    • UIEvents
      包括「DOMActivate」、「DOMFocusIn」、「DOMFocusOut」、「keydown」、「keypress」和「keyup」。
       
    • MouseEvents
      包括「click」、「mousedown」、「mousemove」、「mouseout」、「mouseover」和「mouseup」。
       
    • MutationEvents
      包括「DOMAttrModified」、「DOMNodeInserted」、「DOMNodeRemoved」、「DOMCharacterDataModified」、「DOMNodeInsertedIntoDocument」、「DOMNodeRemovedFromDocument」和「DOMSubtreeModified」。
       
  2. 初始化 Event 物件
    Event 物件有下列四種初始方法。
    • Events 和 HTMLEvents
      initEvent( 'type', bubbles, cancelable )
       
    • UIEvents
      initUIEvent( 'type', bubbles, cancelable, windowObject, detail )
       
    • MouseEvents
      initMouseEvent( 'type', bubbles, cancelable, windowObject, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget )
       
    • MutationEvents
      initMutationEvent( 'type', bubbles, cancelable, relatedNode, prevValue, newValue, attrName, attrChange )
        
  3. 使用 dispatchEvent(eventObj) 來觸發事件
    執行要被觸發 Element 的 dspatchEvent(eventObj) 方法來觸發事件,以一開始的例子來說,就是:按鈕物件.dspatchEvent(前二步驟建出的 Event 物件)

原创粉丝点击