惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
博客园 - 【当耐特】
月光博客
月光博客
Vercel News
Vercel News
D
Docker
I
InfoQ
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
GbyAI
GbyAI
有赞技术团队
有赞技术团队
雷峰网
雷峰网
博客园 - 聂微东
小众软件
小众软件
Y
Y Combinator Blog
腾讯CDC
L
LangChain Blog
The GitHub Blog
The GitHub Blog
宝玉的分享
宝玉的分享
Stack Overflow Blog
Stack Overflow Blog
大猫的无限游戏
大猫的无限游戏
T
The Blog of Author Tim Ferriss

博客园 - 火冰·瓶

Cloudflare Tunnel 有两种模式 用 Cloudflare Tunnel 实现从外网 SSH 登录内网服务器 Cloudflare + .NET Core MVC 部署完整流程 net core 后端获取网络图片的扩展名 推荐好用的web控件 ubuntu运维 使用Frp+Caddy把https映射到内网的web服务 net core中结合EntityFrameworkCore的DB first使用PostgreSQL OneDrive中设置不同步某个文件夹 Framework 4.7老项目运行到caddy Action<T> 和 Func<T>的用法 EF Core经验 net core随记 asp.net core 记录页面访问次数,同一个IP一个小时只算一次 asp.net core 记录页面访问记录 asp.net core 发布到caddy asp.net core发布到Caddy获取用户的真实ip 统计文章阅读量,一小时内重复刷新的不重复统计 鼠标悬停在图片上方时,显示文字
使用on()方法绑定事件,解决动态加载的元素事件绑定
火冰·瓶 · 2025-03-22 · via 博客园 - 火冰·瓶

1. 使用 on() 方法绑定事件
on() 方法可以绑定事件到父级元素上,从而对动态加载的子元素生效。这种方式称为事件委托。

示例:

// 假设动态加载的控件是按钮
$(document).on('click', '.dynamic-button', function() {
  alert('按钮被点击了!');
});

.dynamic-button 是动态加载的控件的类名。

事件绑定在 document 或其他父级元素上,确保动态生成的元素也能触发事件。

2. 在 AJAX 回调中绑定事件
在加载部分视图后,可以在 AJAX 的 success 回调中绑定事件。

$('#container').load('/partialView', function() {
  // 在回调中绑定事件
  $('.dynamic-button').on('click', function() {
    alert('按钮被点击了!');
  });
});

3. 使用 ready() 或 load() 方法
如果动态加载的内容是整个页面的一部分,可以在加载完成后初始化事件。

$('#container').load('/partialView', function() {
  // 初始化动态内容的事件
  initializeEvents();
});

function initializeEvents() {
  $('.dynamic-button').on('click', function() {
  alert('按钮被点击了!');
});
}

4. 注意事项
性能优化:如果动态加载的控件数量较多,建议使用事件委托(on() 方法)以减少性能开销。

避免重复绑定:确保在重新绑定事件前,移除旧的事件绑定,避免重复触发。

$(document).off('click', '.dynamic-button').on('click', '.dynamic-button', function() {
  alert('按钮被点击了!');
});

动态内容加载完成后初始化:确保事件绑定在内容加载完成后执行。