我尝试使用jquery将一段代码从php文件放入我的index.php文件中。
我使用jQuery的函数load()
来做到这一点,我没有问题。
问题是这段代码没有被正确解释。在此示例中,我导入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 !" );
});
});
index.php的php
//index.php
<body>
<div class="my-php">
</div>
</body>
所以,当我点击my-php div中的span时,我应该看到"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);
});
因此,我使用'test'
初始化变量StrPhp。
我尝试使用load function
捕获StrPhp = str
的回调。
然后我尝试用html function
放入my-php div。
它没用。这里的范围是文本'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不会解释跨度,当我点击时,没有任何反应。
显然,这不是固定的,因为每次遇到这个问题时都不会使用警报。
所以,如果有人可以帮助我,我们将不胜感激!
答案 0 :(得分:2)
使用complete参数:
$(document).ready(function(){
$(".my-php").load("myText.php",function () {
$("span").click(function(){
alert( "Success : it's a span !" );
})
});
});
答案 1 :(得分:0)
您可以像这样使用jQuery.on
$(document).ready(function(){
$(".my-php").load("myText.php");
$(".my-php").on('click','span',function(){
alert( "Success : it's a span !" );
});
});