Spójrz na ten prosty kod HTML:
<div id="wrap1">
<iframe id="iframe1"></iframe>
</div>
<div id="warp2">
<iframe id="iframe2"></iframe>
</div>
Powiedzmy, że chciałem przesunąć folie, aby #wrap2
były przed #wrap1
. Elementy iframe są zanieczyszczane przez JavaScript. Znam jQuery .insertAfter()
i .insertBefore()
. Jednak gdy ich używam, element iFrame traci wszystkie zmienne i zdarzenia HTML i JavaScript.
Powiedzmy, że kod HTML elementu iFrame przedstawia się następująco:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
// The variable below would change on click
// This represents changes on variables after the code is loaded
// These changes should remain after the iFrame is moved
variableThatChanges = false;
$(function(){
$("body").click(function(){
variableThatChanges = true;
});
});
</script>
</head>
<body>
<div id='anything'>Illustrative Example</div>
</body>
</html>
W powyższym kodzie zmienna variableThatChanges
... zmieniłaby się, gdyby użytkownik kliknął treść. Ta zmienna i zdarzenie kliknięcia powinny pozostać po przeniesieniu elementu iframe (wraz z innymi zmiennymi / zdarzeniami, które zostały uruchomione)
Moje pytanie jest następujące: w przypadku JavaScript (z jQuery lub bez), jak mogę przenieść węzły zawijania w DOM (i ich elementy potomne iframe), aby okno iFrame pozostało takie samo, a zdarzenia / zmienne / itp. Elementu iFrame pozostały podobnie?