Я пытаюсь поместить часть кода из php-файла в мой файл index.php, используя jquery.
Я использую функцию load()
JQuery, чтобы сделать это, и у меня нет проблем с этим.
Проблема в том, что этот фрагмент кода не интерпретируется должным образом. В этом примере я импортирую span
и чтобы увидеть, правильно ли импортируется этот диапазон в index.php, я использую jQuery click
функция
PHP-код, который я хочу импортировать
//myText.php
<?php
echo '<span>theSpan</span>';
?>
Тогда код JQuery
//scripts.js
$(document).ready(function(){
$(".my-php").load("myText.php");
$("span").click(function(){
alert( "Success : it's a span !" );
});
});
Php index.php
//index.php
<body>
<div class="my-php">
</div>
</body>
Итак, когда я нажимаю на промежуток, который находится внутри div my-php, я должен увидеть "Success : it's a span"
, Но ничего не происходит. Размах здесь с текстом 'theSpan'
но когда я нажимаю на него, ничего не происходит.
Я пытался что-то исправить, но это действительно странное поведение.
Я изменяю код jQuery на это:
$(document).ready(function(){
var StrPhp = 'test';
alert("1 - StrPhp : " +StrPhp); //Return 'test'
$(".my-php").load("myBets.php", function(str){
StrPhp = str;
alert("2 - StrPhp : " +StrPhp); //Return '<span>theSpan</span>'
});
$(".my-php").html(StrPhp);
});
Итак, я инициализирую переменную StrPhp с 'test'
,
Я пытаюсь поймать обратный вызов load function
с StrPhp = str
,
А потом я пытаюсь вставить my-php div с html function
,
Это не сработало. Размах здесь с текстом 'theSpan'
но когда я нажимаю, ничего.
НО !!
$(document).ready(function(){
var StrPhp = 'test';
alert("1 - StrPhp : " +StrPhp); //Return 'test'
$(".my-php").load("myBets.php", function(str){
StrPhp = str;
alert("2 - StrPhp : " +StrPhp); //Return '<span>theSpan</span>'
});
alert("3 - StrPhp : " +StrPhp); //Return 'test'
alert("4 - StrPhp : " +StrPhp); //Return '<span>theSpan</span>' !!!
$(".my-php").html(StrPhp);
});
С двумя предупреждениями перед html() function
, оно работает !
Интервал в my-php div и интерпретируется. Я имею в виду, когда я нажимаю на нее, я вижу "Success : it's a span"
,
Без этих предупреждений диапазон не интерпретируется jQuery, и когда я нажимаю, ничего не происходит.
Очевидно, это не исправлено, потому что я не хочу использовать оповещения каждый раз, когда у меня возникает эта проблема.
Так что если кто-то может мне помочь, это будет оценено!
Использовать полный параметр:
$(document).ready(function(){
$(".my-php").load("myText.php",function () {
$("span").click(function(){
alert( "Success : it's a span !" );
})
});
});
Ты можешь использовать jQuery.on как это
$(document).ready(function(){
$(".my-php").load("myText.php");
$(".my-php").on('click','span',function(){
alert( "Success : it's a span !" );
});
});