php - 使用 javascript 打印标签中的类触发时,覆盖不起作用

标签 php javascript jquery html overlay

使用此 javascript,我正在打印记录列表:

<script type="text/javascript">
    $(document).ready(function(){

        function hide(){
        $('#friend_list').fadeIn(100);
        $('#friend_list').load("friend_list.php");
        };

        setInterval( hide,100 );

    });

</script>

在friend_list.php中,我获取与用户相关的所有记录并像这样返回:

echo "<div class='friend' id='friend'>" . $a["username"] . "<input type='hidden' value='$id'/>" . "</div>";

我正在使用这个简单的脚本来制作叠加层:

 <script type="text/javascript">
 $(document).ready(function(){
function overlayerOn(){
    $('#overlayer').fadeIn(800);
}

function overlayerOff(){
    $('#overlayer').fadeOut(800);
};

$('#board').click(function(e){e.stopPropagation();});

$('.friend').click(function(e){
    e.preventDefault();
    overlayerOn();
    var $br = $('#board');
    $br.css('display', 'block');
    });

$('#overlayer').click(function(e){
    overlayerOff();});
});
</script>

只要我用不同于friend_list.php中使用的其他ID或类触发覆盖,它就可以工作。但这正是我需要的。知道为什么覆盖在由 .friend 类触发时不起作用吗? 谢谢...

最佳答案

使用(live已弃用)

$('.friend').live('click', function(e){
    // your code
});

如果您使用的是最新版本的 jquery,则使用

$('body').on('click', 'div.friend' , function(e){
    // your code
});

发生这种情况是因为您正在使用动态加载内容

$('#friend_list').load("friend_list.php");

因此单击不起作用,因为加载时这些内容不在 DOM 中。

关于php - 使用 javascript 打印标签中的类触发时,覆盖不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9779306/

相关文章:

php - 如果行存在则不插入

php - 如何在 PHP 应用程序中有效地存储 sql?

php - 在输入邮政编码之前,WooCommerce 会阻止结帐

php - Mysql/php 按 varchar 的第二个单词排序

javascript - ajax 调用传递安全性

javascript - 重复次数计数结果按升序排列

javascript - 从 Javascript 对象循环动态创建的表单。如何将数据保存回对象

javascript - 使用ajax post请求到geoserver时出错

javascript - 如何检查禁用的选择元素,我想通过检查它来更改禁用元素的不透明度

javascript - Jquery 在循环中使用 PHP 填充的表行