Jquery 加载div标记后添加函数
如果我有一个div标签,说Jquery 加载div标记后添加函数,jquery,html,Jquery,Html,如果我有一个div标签,说 <div id="main" style="display:none"></div> 当用户单击图像时,必须执行某些功能 这个函数必须在加载div标记后加载,因此我考虑这样做 $("#main").load(function() { $('#tu').click(function() { alert("asd"); }); }); 但这不起作用。将更改为您应该使用最近的静态容器来委派图像的单击事件。在没有看到相关
<div id="main" style="display:none"></div>
当用户单击图像时,必须执行某些功能
这个函数必须在加载div标记后加载,因此我考虑这样做
$("#main").load(function() {
$('#tu').click(function() {
alert("asd");
});
});
但这不起作用。将
更改为
您应该使用最近的静态容器来委派图像的单击事件。在没有看到相关代码的情况下,我打赌#main
是最接近的静态容器:
$('#main').on('click', '#tu', function(){
alert("asd");
});
否则,您仍可以将其委托给文档
级别:
$(document).on('click', '#tu', function () {
alert("asd");
});
使用委派,您不需要在添加图像后进行设置,您可以在DOM(1)中的
#main
可用时进行设置,或者在任何时候使用文档(2)进行设置。如果在文档加载完成时图像已经可用,那么为什么不执行以下操作:
$(function() {
$('#tu').click(function() {
alert("asd");
});
});
如果在#main
可见时加载图像,则可以在该时间点附加处理程序,执行如下操作:
$(function() {
$('#someButton').click(function() {
$("#main").append('<img src="a.png" id="tu" />');
$('#tu').click(function() {
alert("asd");
});
$("#main").show();
});
});
$(函数(){
$(“#someButton”)。单击(函数(){
$(“#main”)。追加(“”);
$('#tu')。单击(函数(){
警报(“asd”);
});
$(“#main”).show();
});
});
很抱歉,这是一个输入错误。DIV没有任何onload事件,onload事件没有冒泡^^ Wolff说,DIV立即加载,没有加载事件。
$(function() {
$('#someButton').click(function() {
$("#main").append('<img src="a.png" id="tu" />');
$('#tu').click(function() {
alert("asd");
});
$("#main").show();
});
});