[EDIT: Я попытался разместить только соответствующую часть моего кода здесь. Я понимаю, что это привело к путанице. Извини за это. Вот фрагмент, который я мог бы создать, вызывая ту же проблему. Добавление фрагмента здесь:]jquery replace html и javascript function
После загрузки фрагмента нажмите кнопку.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="hello">
Some text
<script>
\t jQuery(document).ready(function() {
\t \t func();
});
var a = 5;
function func() {
alert("Value is FIVE. Integer value: " +a);
}
</script>
</div>
<div id="mybtn" style="border: 2px solid black; padding:5px; background-color: yellow; width: 100px">CLICK</div>
<script>
var data = " \
\t \t Some text2 \
\t \t <script> \
\t \t \t jQuery(document).ready(function() { \
\t \t \t \t func(); \
\t \t \t }); \
var a = 6; \
\t \t \t function func() { \
\t \t \t alert('Value is SIX. Integer value: ' +a); \
\t \t \t } \
\t \t \t <\/script> ";
\t \t \t
\t $('#mybtn').on('click', function(e) {
\t $('#hello').html(data);
\t });
</script>
Я ожидал увидеть SIX 6 (или, может быть FIVE 5) по нажатию кнопки. Но см. SIX 5. Интересно, что новая функция вызывается, но используется старое значение (5). В моем фактическом коде у меня был мой func() ниже, где я его называл, и также вызывал его в настройке (func ...). Попытка понять, что происходит.
Я предполагаю, что факт, что вы не закрываете тег 'script', находится здесь, в примере кода, правильно ...? – webeno
нигде вы не определяете 'var1 = 4', так почему вы ожидаете печати? – webeno
В этой версии отсутствует. Можете ли вы изменить свой код и предоставить оригинальную копию этой части? – Kelvin