123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Tom Pixley <[email protected]> (original author)
- * Johnny Stenback <[email protected]>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of the GNU General Public License Version 2 or later (the "GPL"),
- * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
- #include "domstubs.idl"
- interface nsIDOMEventTarget;
- /**
- * The nsIDOMEvent interface is the primary datatype for all events in
- * the Document Object Model.
- *
- * For more information on this interface please see
- * http://www.w3.org/TR/DOM-Level-2-Events/
- *
- * @status FROZEN
- */
- [scriptable, uuid(a66b7b80-ff46-bd97-0080-5f8ae38add32)]
- interface nsIDOMEvent : nsISupports
- {
- // PhaseType
- /**
- * The current event phase is the capturing phase.
- */
- const unsigned short CAPTURING_PHASE = 1;
- /**
- * The event is currently being evaluated at the target EventTarget.
- */
- const unsigned short AT_TARGET = 2;
- /**
- * The current event phase is the bubbling phase.
- */
- const unsigned short BUBBLING_PHASE = 3;
- /**
- * The name of the event (case-insensitive). The name must be an XML
- * name.
- */
- readonly attribute DOMString type;
- /**
- * Used to indicate the EventTarget to which the event was originally
- * dispatched.
- */
- readonly attribute nsIDOMEventTarget target;
- /**
- * Used to indicate the EventTarget whose EventListeners are currently
- * being processed. This is particularly useful during capturing and
- * bubbling.
- */
- readonly attribute nsIDOMEventTarget currentTarget;
- /**
- * Used to indicate which phase of event flow is currently being
- * evaluated.
- */
- readonly attribute unsigned short eventPhase;
- /**
- * Used to indicate whether or not an event is a bubbling event. If the
- * event can bubble the value is true, else the value is false.
- */
- readonly attribute boolean bubbles;
- /**
- * Used to indicate whether or not an event can have its default action
- * prevented. If the default action can be prevented the value is true,
- * else the value is false.
- */
- readonly attribute boolean cancelable;
- /**
- * Used to specify the time (in milliseconds relative to the epoch) at
- * which the event was created. Due to the fact that some systems may
- * not provide this information the value of timeStamp may be not
- * available for all events. When not available, a value of 0 will be
- * returned. Examples of epoch time are the time of the system start or
- * 0:0:0 UTC 1st January 1970.
- */
- readonly attribute DOMTimeStamp timeStamp;
- /**
- * The stopPropagation method is used prevent further propagation of an
- * event during event flow. If this method is called by any
- * EventListener the event will cease propagating through the tree. The
- * event will complete dispatch to all listeners on the current
- * EventTarget before event flow stops. This method may be used during
- * any stage of event flow.
- */
- void stopPropagation();
- /**
- * If an event is cancelable, the preventDefault method is used to
- * signify that the event is to be canceled, meaning any default action
- * normally taken by the implementation as a result of the event will
- * not occur. If, during any stage of event flow, the preventDefault
- * method is called the event is canceled. Any default action associated
- * with the event will not occur. Calling this method for a
- * non-cancelable event has no effect. Once preventDefault has been
- * called it will remain in effect throughout the remainder of the
- * event's propagation. This method may be used during any stage of
- * event flow.
- */
- void preventDefault();
- /**
- * The initEvent method is used to initialize the value of an Event
- * created through the DocumentEvent interface. This method may only be
- * called before the Event has been dispatched via the dispatchEvent
- * method, though it may be called multiple times during that phase if
- * necessary. If called multiple times the final invocation takes
- * precedence. If called from a subclass of Event interface only the
- * values specified in the initEvent method are modified, all other
- * attributes are left unchanged.
- *
- * @param eventTypeArg Specifies the event type. This type may be
- * any event type currently defined in this
- * specification or a new event type.. The string
- * must be an XML name.
- * Any new event type must not begin with any
- * upper, lower, or mixed case version of the
- * string "DOM". This prefix is reserved for
- * future DOM event sets. It is also strongly
- * recommended that third parties adding their
- * own events use their own prefix to avoid
- * confusion and lessen the probability of
- * conflicts with other new events.
- * @param canBubbleArg Specifies whether or not the event can bubble.
- * @param cancelableArg Specifies whether or not the event's default
- * action can be prevented.
- */
- void initEvent(in DOMString eventTypeArg,
- in boolean canBubbleArg,
- in boolean cancelableArg);
- };
|