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, время: 13:18. |