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");

 

posted @   海角之上  阅读(1571)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示