load обработчики копируются?
всем привет!
при загрузке в элемент кода из другого html-документа обработчики событий не копируются? скрипт внешний, те код скрипта не прописан в html-документе, а подключается в заголовке вопрос: если я загружу эту страницу в какой-нибудь элемент на исходной странице, все скриптовые обработчики теряются??? |
Цитата:
|
скрипт с обработчиками form1.js
$(document).ready(function(){ $("#close_btn").click( function(){ ... }); $("#hide_btn").click( function(){ ... }); }); form1.html <html> <head> <script type="text/javascript" src="jquery-1.4.2.min.js"></script> <script type="text/javascript" src="form1.js"></script> </head> <body> <button id='close_btn'>X</button><button id='hide_btn'>-</button> <table> .. </table> </body> </html> использование: <html> <head> <script type="text/javascript" src="jquery-1.4.2.min.js"></script> <script type="text/javascript" src="script.js"></script> </head> <body> <div id='frames_div'> </iframe> </div> <button id='add_btn'>Добавить</button> </body> </html> script.js $(document).ready(function(){ $("#add_btn").click(function(){ var v = $(document.createElement("div")); v.load("form1.html"); $("#frames_div").append( v ); }); }); |
Что-то вы не то делаете. Целиком страницу можно только во фрейме открыть, но никак не подгрузить в 'div'. Во-первых у вас в разметке откуда-то взялся закрывающий </iframe> - удалить.
Во вторых, все проще: вместо var v = $(document.createElement("div")); v.load("form1.html"); $("#frames_div").append( v ); Должно быть var v = $(document.createElement("iframe")); v.src = "form1.html" $("#frames_div").append( v ); Внутри фрейма отобразится ваша form1.html, практически полноценно, это как браузер в браузере. Тоесть все скрипты и все такое будет работать как надо. |
тут на другом конце форума посоветовали убрать iframe... )
|
Часовой пояс GMT +3, время: 10:32. |