Como programador de Java en los últimos seis meses, el código JavaScript que escribí es casi más que el código Java. Hace algún tiempo, construí un sistema de gestión y control de cajeros para un banco. En la función de la autorización del cajero, se deben considerar varios factores, como la autoridad organizacional, la autoridad del tipo de cajero, la autoridad laboral, la autoridad comercial, etc., y esta autoridad debe ser cruzada o sindicalizada, y muchos JavaScript deben usarse en la página para controlarla. Esto ha provocado que el código JavaScript sea más responsable de la implementación de este módulo funcional que el código Java.
Ahora, se desarrolla un sistema de gestión de caja segura para un banco. Sus bloques funcionales centrales, gestión de asientos de caja segura y gestión de caja segura, para realizar las funciones de administración como intuitivas y convenientes como la arquitectura C/S, y mostrar los resultados de procesamiento al operador en tiempo real, después de varios días de pensamiento y experimentación, finalmente, CSS+JavaScript+Java se usa para desarrollar Java, Java se utiliza para procesar la lógica empresarial, CSS se usa a varios estados del objetivo de los estados de los estados de los estados de los estados de los estados de los estados. Cambio de su CSS de acuerdo con la transición de estado del objeto objetivo.
Un problema encontrado en esto es que al registrar un controlador de eventos de clic para un elemento HTML en JavaScript, por ejemplo, pasando 3 parámetros al controlador. Sin embargo, no importa con el siguiente método (nodo significa el nodo para registrar el evento, y la diversión es la función de manejo de eventos), no puede pasar los parámetros a la función de manejo de eventos:
node.addeventListener ('hacer clic', diversión, falso); node.attachevent ('onClick', diversión); node ['onClick'] = diversiónObviamente, el método no es bueno, así que tenga en cuenta que el método de escritura es incorrecto:
node.addeventListener ('hacer clic', diversión (arg1, arg2, arg3), falso); node.attachevent ('onclick', diversión (arg1, arg2, arg3)); Nodo ['onclick'] = diversión (arg1, arg2, arg3)Afortunadamente, leí un libro llamado "JavaScript.Dom Advanced Programming" y encontré una solución en este libro. Primero escriba un método:
función bindfunction (obj, func) {var args = []; for (var i = 2; i <arguments.length; i ++) {args.push (argumentos [i]);} function de return () {funC.Apply (obj, args);}; };Luego agregue los siguientes dos métodos a su biblioteca JS. Si no lo entiende, puede consultar "JavaScript.Dom Advanced Programming Design". La sección 2.3 del libro contiene una explicación de este método, pero he agregado algunos cambios:
función bindfunction (obj, func) {var args = []; for (var i = 2; i <arguments.length; i ++) {args.push (argumentos [i]);} function de return () {funC.Apply (obj, args);};}; ventana ['oyf_mark'] ['bindFunction'] = bindFunction; función addEvent (nodo, type, oyente) {// Use el método anterior para verificar la compatibilidad para garantizar la degradación suave if (! ISCompatible ()) {return false} if (! (node = $ (nodo))) return false; if (node.addeventListener) {// w3c método (evento de burbujas, si falso se cambia a verdadero, es un evento de captura) node.addeventListener (tipo, oyente, falso); return true;} elseif (node.attachevent) {// msie Method Node ['E' + type + oyente] = oyente; nodo [type + oyeur] = function () {node ['e' + type + oyente] (window.event);} node.attachevent ('en' + type, node [type]); devolver verdadero; } // Si ninguno de los métodos está disponible, return False return False;}; Window ['oyf_mark'] ['addEvent'] = addEvent;Las dos funciones anteriores se modificaron ligeramente del código fuente en "JavaScript.dom Programación avanzada" y se agregaron a una de mis propias biblioteca JS para su reutilización. A continuación, puede registrar eventos en el elemento y pasar los parámetros a la función del controlador de eventos de la siguiente manera:
// Registre la nueva función de controlador de eventos OnClick oyf_mark.addevent (e, 'hacer clic', oyf_mark.bindfunction (e, getContainerDetail, x, y, contenedor));