On('click')在使用load()函数加载页面后,jquery不起作用

 白猫警员123 发布于 2023-02-13 18:38

使用cookie来知道在我的DIV中加载哪个页面

if($.cookie('logged') == null){
    $('#auction-form').load('pages/login.php');
}else{
    $('#auction-form').load('pages/bid.php');
}

但是在login.php页面中,我有另一个链接会触发另一个无效的load()函数.

$('.register-btn').on('click',function(){
    $('#auction-form').load('pages/register.php');
});

.register-btn类是一个应该触发上述函数的链接.我知道这可能是因为当加载login.php页面时,它不在DOM中,因此无法看到.register-btn.如何在从load()函数加载的页面上委派脚本?

1 个回答
  • 使用.on()使用事件委派

    $(document).on('click','.register-btn',function(){
    

    代替

    $('.register-btn').on('click',function(){
    

    由于.register-btn不驻留在DOM(动态元素)上,因此无法直接绑定事件.

    对于动态元素,语法为:

    $(parentselector).on('event', 'selector', yourFunction)
    

    注意,parentselector需要是一个Non-dynamic always DOM present element

    2023-02-13 18:39 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有