jQuery .live() vs .on() method for adding a click event after loading dynamic html(jQuery .live() 与 .on() 方法在加载动态 html 后添加点击事件)
问题描述
I am using jQuery v.1.7.1 where the .live() method is apparently deprecated.
The problem I am having is that when dynamically loading html into an element using:
$('#parent').load("http://..."); 
If I try and add a click event afterwards it does not register the event using either of these methods:
$('#parent').click(function() ...); 
or
// according to documentation this should be used instead of .live()
$('#child').on('click', function() ...); 
What is the correct way to achieve this functionality? It only seems to work with .live() for me, but I shouldn't be using that method. Note that #child is a dynamically loaded element.
Thanks.
If you want the click handler to work for an element that gets loaded dynamically, then you set the event handler on a parent object (that does not get loaded dynamically) and give it a selector that matches your dynamic object like this:
$('#parent').on("click", "#child", function() {});
The event handler will be attached to the #parent object and anytime a click event bubbles up to it that originated on #child, it will fire your click handler.  This is called delegated event handling (the event handling is delegated to a parent object).
It's done this way because you can attach the event to the #parent object even when the #child object does not exist yet, but when it later exists and gets clicked on, the click event will bubble up to the #parent object, it will see that it originated on #child and there is an event handler for a click on #child and fire your event.
这篇关于jQuery .live() 与 .on() 方法在加载动态 html 后添加点击事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:jQuery .live() 与 .on() 方法在加载动态 html 后添加点击事件
				
        
 
            
        - 我不能使用 json 使用 react 向我的 web api 发出 Post 请求 2022-01-01
 - 为什么悬停在委托事件处理程序中不起作用? 2022-01-01
 - 为什么我的页面无法在 Github 上加载? 2022-01-01
 - 如何向 ipc 渲染器发送添加回调 2022-01-01
 - 如何调试 CSS/Javascript 悬停问题 2022-01-01
 - 如何显示带有换行符的文本标签? 2022-01-01
 - 是否可以将标志传递给 Gulp 以使其以不同的方式 2022-01-01
 - 使用 iframe URL 的 jQuery UI 对话框 2022-01-01
 - 从原点悬停时触发 translateY() 2022-01-01
 - 在不使用循环的情况下查找数字数组中的一项 2022-01-01
 
						
						
						
						
						
				
				
				
				