Los eventos son el corazón latido de las aplicaciones de JavaScript y el pegamento que coloca todo juntos. El evento ocurre cuando tenemos ciertos tipos de interacciones con las páginas web en el navegador. Los eventos pueden ser un usuario haciendo clic en cierto contenido, un mouse que pasa a través de un elemento específico o presionando ciertas teclas en el teclado. Los eventos también pueden ser algo que sucede en un navegador web, como una determinada carga de la página web, o el usuario desplaza la ventana o cambia el tamaño de la ventana.
Al usar JavaScript, puede escuchar eventos específicos y especificar que ciertos eventos ocurren en respuesta a ellos.
1. Agregue la escucha del evento
ES DECIR:
Copie el código de la siguiente manera: adjectEvent ("onClick", function () {...}) // agregar
DETACHEVENT ("OnClick", function () {...}) // Eliminar
FF:
La copia del código es la siguiente: AddEventListener ("Click", function () {...}, falso)
// Puede agregar múltiples eventos escuchando un objeto, que es diferente del evento de objeto predeterminado
RemoveventListenner ("hacer clic", function () {...}, falso)
2. Obtenga el objeto del evento
ES DECIR:
La copia del código es la siguiente: op.OnClick = function () {
ver oevent = window.event; // como propiedad de la ventana
}
FF:
La copia del código es la siguiente: op.OnClick = function (oevent) {
.... // Control pasando parámetros
}
General:
La copia del código es la siguiente: op.OnClick = function (oevent) {
if (window.event) {
oevent = window.event;
}
}
// se obtiene en tiempo real, pero las propiedades y métodos de sus objetos de retorno no son consistentes, ¡pero se pueden resolver usando EventUtil!
var eventUtil = new Object;/** //*Este método se usa para agregar eventos a un objeto específico. OTARGET es el objeto especificado, SeVentType es el tipo de evento, como Click, Keydown, etc. fnHandler es la función de devolución de llamada de eventos*/eventUtil.addeventhandler = function (oTarget, seventType, fnhandler) {// en el caso de Firefox (oTarget.addeventListener) {ootarget.addeventLister (segente, (segente, (pEGO, (pEJES, PER fnhandler, falso); } // es decir, else if (otarget.attachevent) {otarget.attachevent ("on" + seventType, fnhandler); } else {oTarget ["on" + sEventType] = fnHandler; }};/* Este método se utiliza para eliminar eventos específicos de un objeto específico. OTARGET es el objeto especificado, SeVentType es el tipo de evento, como Click, Keydown, etc. fnHandler es la función de devolución de llamada de eventos*/ eventUtil.removeEventHandler = function (oTarget, seventType, fnhandler) {if (oTarget.removeVentLener) {oTarget.removeVentListener (SEDSVENTYPE, SECHALLER, FALSE, FALSE). } else if (otarget.detachevent) {otarget.detachevent ("on" + seventType, fnhandler); } else {oTarget ["on" + seventType] = null; }}};/*Eventos de formato, porque IE y otros navegadores obtienen eventos de manera diferente y las propiedades de los eventos también son diferentes, este método proporciona un evento consistente*/eventUtil.FormateVent = function (oevent) {// isie e iswin se refieren a un archivo js para determinar el tipo de navegador y el tipo de sistema operativo si (isie && iswin) {oevent.charcode = (oevent.type.type.type "KeyPress")? oevent.keycode: 0; // IE solo admite burbujas y no admite la captura de oevent.eventPhase = 2; oevent.ischar = (oevent.charcode> 0); oevent.pagex = oevent.clientx + document.body.scrollleft; oevent.pagey = oevent.clienty + document.body.scrolltop; // Comportamiento predeterminado de eventos de bloqueo oevent.preventDefault = function () {this.returnValue = false; }; // Convertir Toelement, desde elemento en estándar RelatedTarget if (oevent.type == "mouseout") {oevent.relatedTarget = oevent.toelement; } else if (oevent.type == "mouseover") {oevent.relatedTarget = oevent.fromelement; } // Cancelar bubbling oevent.stoppropagation = function () {this.cancelBubble = true; }; oevent.target = oevent.srcelement; // Agregar atributo de tiempo de ocurrencia del evento, es decir, no tiene oevent.time = (nueva fecha) .getTime (); } return oevent; }; EventUtil.getEvent = function () {if (window.event) {// format, es decir, los eventos devuelven esto.formatevent (window.event); } else {return eventUtil.getevent.caller.arguments [0]; }}; /** Adjunta un archivo JS que juzga el navegador y el tipo de sistema. Al introducir algunas variables globales con nombres obvios como resultado del juicio, debe tener cuidado con los conflictos de nombres variables cuando se usa: */var Suseragent = Navigator.Useragent; var fappversion = parsefloat (navigator.appversion); function compareVersions (sversion1, sversion2) {var aversion1 = sversion1.split ("", ");"); ");) var aversion2 = sversion2.split ("."); if (aversion1.length> aversion2.length) {for (var i = 0; i <aversion1.length - aversion2.length; i ++) {aversion2.push ("0"); }} else if (aversion1.length <aversion22.length) {for (var i = 0; i <aversion2.length - aversion1.length; i ++) {aversion1.push ("0"); }} para (var i = 0; i <aversion1.length; i ++) {if (aversion1 [i] <aversion2 [i]) {return -1; } else if (aversion1 [i]> aversion2 [i]) {return 1; }} return 0;} var isOpera = SusERAGENT.IndexOf ("Opera")> -1; var isMinoPera4 = isMinoPera5 = isMinoPera6 = isMinoPera7 = isMinoPera7_5 = false; if (isOpera) {var foperaversion; if (navigator.appname == "ópera") {foperaVersion = fAppVersion; } else {var reoperAversion = new Regexp ("ópera (//d+//.//d+)"); reoperación.test (Suseragent); foperaversion = parsefloat (regexp ["$ 1"]); } isMinopera4 = foperaVersion> = 4; isMinopera5 = foperaversion> = 5; isMinopera6 = fopera Versión> = 6; isMinopera7 = foperaversion> = 7; isMinoPera7_5 = foperaVersion> = 7.5;} var iskhtml = Suseragent.IndexOf ("khtml")> -1 || Suseragent.Indexof ("Konqueror")> -1 || Suseragent.Indexof ("AppleWebkit")> -1; var isMinSafari1 = isMinSafari1_2 = false; var isMinkonq2_2 = isMinkonq3 = isMinkonq3_1 = isMinkonq3_2 = false; if (iskhtml) {issafari = Suseragent.Indexof ("AppleWebkit")> --1; iskonq = Suseragent.indexof ("konqueror")> -1; if (issafari) {var reapplewebkit = new Regexp ("AppleWebkit /// (// d+(?: ////d*)?)"); reapplewebkit.test (Suseragent); var fapplewebkitversion = parsefloat (regexp ["$ 1"]); isMinSafari1 = fapplewebkitversion> = 85; isMinSafari1_2 = fapplewebkitversion> = 124; } else if (iskonq) {var rekonq = new Regexp ("Konqueror //// (// d+(?: ////d+ (?: ////d)?)?)"); rekonq.test (Suseragent); isminkonq2_2 = compareVersions (regexp ["$ 1"], "2.2")> = 0; isminkonq3 = compareVersions (regexp ["$ 1"], "3.0")> = 0; isminkonq3_1 = compareVersions (regexp ["$ 1"], "3.1")> = 0; isminkonq3_2 = compareVersions (regexp ["$ 1"], "3.2")> = 0; }} var isie = susERAGENT.IndexOf ("Compatible")> -1 && Suseragent.IndexOf ("msie")> -1 &&! isopera; var isMinie4 = isminie5 = isMinie5_5 = isMinie6 = false; if (isie) {var reie = new Regexp ("msie (//d+//.//d+);"); reie.test (Suseragent); var fieversion = parsefloat (regexp ["$ 1"]); isminie4 = fieversion> = 4; isminie5 = fieversion> = 5; isminie5_5 = fieversion> = 5.5; isMinie6 = fieversion> = 6.0;} var isMoz = Suseragent.indexof ("gecko")> -1 &&! Iskhtml; var isMinmoz1 = sminmoz1_4 = isminmoz1_5 = falso; if (isMoz) {var remoz = new Regexp ("rv: (//d+//.//d+ (?: //.//D+)?)"); remoz.test (Suseragent); isminmoz1 = compareVersions (regexp ["$ 1"], "1.0")> = 0; isminmoz1_4 = compareVersions (regexp ["$ 1"], "1.4")> = 0; isminmoz1_5 = compareVersions (regExp ["$ 1"], "1.5")> = 0;} var isns4 =! isie &&! isopera &&! ismoz &&! iskhtml && (suseragent.indexof ("mozilla") == 0) && (navigator.appname == "netscape") && (fapapsioneion) && fappversion <5.0); var isMinns4 = isMinns4_5 = isMinns4_7 = isMinns4_8 = false; if (isns4) {isMinns4 = true; isMinns4_5 = fAppVersion> = 4.5; isMinns4_7 = fAppVersion> = 4.7; isminns4_8 = fappversion> = 4.8;} var iswin = (navigator.platform == "win32") || (navigator.platform == "Windows"); var isMac = (navigator.platform == "Mac68k") || (Navigator.platform == "MacPPC") || (navigator.platform == "Macintosh"); var isunix = (navigator.platform == "x11") &&! iswin &&! ismac; var iswin95 = iswin98 = iswinnt4 = iswin2k = iswinMe = iswinxp = falso; var ismac68k = ismacppc = false; isMinSunos5 = isMinsUnos5_5 = false; if (iswin) {iswin95 = Suseragent.IndexOf ("win95")> -1 || Suseragent.Indexof ("Windows 95")> -1; iswin98 = Suseragent.Indexof ("Windows 98")> -1 || Suseragent.Indexof ("Windows 98")> -1; iswinme = Suseragent.indexof ("Windows 98")> -1 || Suseragent.Indexof ("Windows Me")> -1; iswin2k = Suseragent.indexof ("Windows NT 5.0")> -1 || Suseragent.Indexof ("Windows 2000")> -1; iswinxp = Suseragent.Indexof ("Windows NT 5.1")> -1 || Suseragent.IndexOf ("Windows XP")> -1; iswinnt4 = Suseragent.indexof ("Windows nt")> -1 || Suseragent.Indexof ("Windows NT")> -1 || Suseragent.Indexof ("Windows NT")> -1 || susERAGENT.IndexOf ("Windows NT4.0")> -1 && (! Iswinme &&! Iswin2k &&! Iswinxp);} if (isMac) {isMac68k = Suseragent.indexof ("Mac_68000")> -1 || Suseragent.Indexof ("68k")> -1; ismacppc = Suseragent.Indexof ("Mac_powerpc")> -1 || Suseragent.IndexOf ("PPC")> -1; } if (isunix) {isSUNOS = susERAGENT.IndexOf ("sunos")> -1; if (isSunos) {var resunos = new Regexp ("sunos (//d+//.//d+(?://.//d+)?)"); resunos.test (Suseragent); isminUnos4 = compareVersions (regexp ["$ 1"], "4.0")> = 0; isminUnos5 = compareVersions (regexp ["$ 1"], "5.0")> = 0; isminUnos5_5 = compareVersions (regexp ["$ 1"], "5.5")> = 0; }}Lo anterior es el manejo de eventos JS. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.