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

推荐订阅源

Martin Fowler
Martin Fowler
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
The Cloudflare Blog
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 司徒正美
小众软件
小众软件
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
C
Check Point Blog
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
V
V2EX
F
Fortinet All Blogs
B
Blog
大猫的无限游戏
大猫的无限游戏
N
Netflix TechBlog - Medium
B
Blog RSS Feed
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - 火冰·瓶

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('按钮被点击了!');
});

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