Несколько функций на одно событие.
Собственно вопрос я так понимаю совсем смешной, однако люди добрые подскажите пожалуйста как повесить на событие onLoad вызов сразу нескольких функций?
Сейчас так: onLoad="loadTable('table_2')" а нужно ещё loadTable('table_1'); |
|
А попроще решения нет? Ну что-то типа вызов из тела функции init?
function init(){ loadTable('table_1'); loadTable('table_2'); } Просто в этой части на странице никакой динамики не предвидится. |
Что сложного в вызове функции addEventListener/attachEvent?
|
Проще и доступнее чем там написано нет! Криворучее, не желание что-то изучать - фреймворки.
|
Объясните пожалуйста почему это не работает:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" charset="UTF-8" src="rubber_table_dom.js"></script> <script type="text/javascript" charset="UTF-8" src="ajax.js"></script> <script type="text/javascript" charset="UTF-8" src="onLoad.js"></script> <title>Отработка резиновой таблицы</title> </head> <body onLoad="init()"> <center> <span id='firm'> <b>Эту запись должна заменить таблица. Значит какой-то косячок!!</b> </span> <br> 11111111111111111; <br> <span id='table_2'> <b>Эту запись должна заменить таблица. Значит какой-то косячок!!</b> </span> </center> </body> </html> function addEvent(elem, type, handler){ if (elem.addEventListener){ elem.addEventListener(type, handler, false) } else { elem.attachEvent("on"+type, handler); } } function init(){ addEvent('body','load',loadTable('firm')); addEvent('body','load',loadTable('table_2')); }; Значит первый момент: "Break on ErrorКопировать elem.attachEvent is not a function" - firefox. Второй момент: Первая таблица отображается, вторая уже нет. |
А почему body в кавычках?
|
а без кавычек не работает
|
А с кавычками работает? :)
document.body |
Да, первая таблица грузится. Ровно также ведет себя такая запись:
function addEvent(elem, type, handler){ if (elem.addEventListener){ elem.addEventListener(type, handler, false) } else { elem.attachEvent("on"+type, handler); } } function init(){ addEvent(document.body,'load',loadTable('table_2')); addEvent(document.body,'load',loadTable('firm')); }; |
Потому что вы её сразу загружаете, а не по событию load. У вас бы и вторая грузилась, если бы ошибки не возникало, но только сразу, а ни на событии load.
|
Да как же это не по событию Load?...Может конечно я как-то неправильно понимаю... но наверное Вы правы, где-то я напортачил.. иначе проще сделать так...
onLoad=init()... init() { loadTable('firm'); loadTable('table_2'); } Пока так и попробую...но тогда не понятно для каких случаев addEventListener и, что самое интересное, как правильно его применять. |
Цитата:
|
<body onLoad="init">
А так вот что: uncaught exception: [Exception... "Could not convert JavaScript argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: http://192.168.1.203:8080/RTRS/onLoad.js :: addEvent :: line 3" data: no] |
Часовой пояс GMT +3, время: 18:56. |