• jq动态生成HTML元素时,点击事件无效,且css无效


    解决方案:将普通事件改为.on()委托事件

    示例:

    $('.btn1').click(function(){  //code }) //普通绑定事件
    $(document).on('click','.btn1',function(){//code })  //on绑定事件

    原因:动态添加的HTML元素是在CSS,JS代码加载完成后再添加的HTML页面。在浏览器解析这些通过ajax请求到后台

    返回的数据,再根据返回的结果动态生成HTML页面时,这些绑定事件的标签元素还没有生成。而普通.click事件只能绑定

    静态元素。用on方法支持动态绑定元素。

    CSS无效解决办法:

    <div class="box">
        <input type="text" name="" value="已经存在的input">  
    </div>
    <button>添加input</button>
    .box{
        width: 500px;
        height: 300px;
        border-radius:8px;
        border:1px solid #f0f;
        margin-bottom: 20px;
        padding: 5%;
    }
    .box input{
        border:0px;
        background: skyblue;
        color: #fff;
        height: 35px;
        border-radius: 8px;
    }
    var box = $('.box');
    var appendHtml = '<input type="text" name="" value="追加的input">';
    box.append(appendHtml);
     
    // 解决样式不生效
    $(".box").trigger("create");
  • 相关阅读:
    mysql优化
    c语言学习的第10天
    学习c语言的第9天
    学习c的第8天
    学习c的第7天
    学习c的第6天2
    c语言学习的第6天
    sed命令实战
    grep命令实战
    c语言学习的第五天
  • 原文地址:https://www.cnblogs.com/sky6699/p/13932864.html
Copyright © 2020-2023  润新知