jQuery load()函数插入非解释代码

时间:2015-04-08 12:09:11

标签: php jquery function load alert

我尝试使用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不会解释跨度,当我点击时,没有任何反应。

显然,这不是固定的,因为每次遇到这个问题时都不会使用警报。

所以,如果有人可以帮助我,我们将不胜感激!

2 个答案:

答案 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 !" );
                });

});