javascript - pueden - dieta sin azucar menu
evitar que window.onload sea reemplazado javascript (3)
Sí, la segunda declaración anulará la primera. Como está utilizando el modelo de registro tradicional, solo se permite un identificador de evento para cualquier evento y objeto determinados. La asignación de función no es acumulativa. Pero puedes:
window.onload = function () {handlerinb(); handlerina()}
¿Cómo superar los controladores de eventos anulados? Tengo un script que dice a.js
window.onload = function () {
//Handler in a.js
}
Otro script dice b.js
window.onload = function () {
//Handler in b.js
}
dónde,
a.js es una especie de biblioteca de terceros construida por mí
b.js es un editor que usa mi script [No puedo hacer ningún cambio aquí]
¿El controlador onload en b.js anulará el controlador de a.js?
Si es así, ¿cómo evitar que esto suceda?
¿Se creará una cola de todos los controladores de eventos en a.js y se eliminará en la ayuda del evento?
¿A.js conocerá todos los manejadores de eventos para un evento por adelantado hasta que cargue b.js?
Pensamientos y referencias ayudarían
Utilice element.addEventListener
o window.attachEvent
en las versiones de IE de nivel inferior.
Ejemplo del método addEvent
:
function addEvent(node, type, listener) {
if (node.addEventListener) {
node.addEventListener(type, listener, false);
return true;
} else if (node.attachEvent) {
node[''e'' + type + listener] = listener;
node[type + listener] = function() {
node[''e'' + type + listener](window.event);
}
node.attachEvent(''on'' + type, node[type + listener]);
return true;
}
return false;
};
Nota : la mayoría, si no todas, las bibliotecas modernas de JavaScript como jQuery
y MooTools
tienen sus propias implementaciones. Recomiendo aprovechar sus API, ya que abstraen diferentes implementaciones del navegador y se han probado exhaustivamente.
deberías usar addEventListener () para tener varios manejadores para el mismo evento
window.addEventListener("load", yourfunction, false);