怎么给动态生成的元素添加点击事件

怎么给动态生成的元素添加点击事件,第1张

要看看你是怎么“动态添加”元素的。

如果你的元素是用click事件append进来的

那你的功能函数必须放在这个click事件里面。

比如:

$(".clickMeToAppendElement").click(function() {

$(".toBeAppend").append("<li><span><i class=\"icon J_classtree\">这是元素内容</i>")

$(".J_classtree").on("click",function(){

alert("终于进来了")

})

)

如果你把函数放在click事件外面,

最初加载页面的时候,$(".J_classtree")就找不到.J_classtree这个类,那段功能函数就添加不了了。

你可以在 append 了元素之后 , 在这个代码的后面 查找刚才添加的元素,然后绑定事件。 也可以使用 jquery 的方法 .on 给他的父元素绑定事件监听, 更直接的是, 在append 的元素中 设置其 属性 onclick = “函数名()”

直接使用click事件是不起作用的,我平常使用的两种方法

1、on事件

var html1=''

html1 +=`<div>

<button type="button" class="btn btn-primary sure btn-mian" onclick="sure()">确认提交</button>

<button type="button" class="btn btn-default " data-dismiss="modal">暂不提交</button>

</div>`

$('.modal-footer').append(html1)

$('div').on('click','.sure',function(){console.log("+++")})

2、onclick事件

var html1=''

html1 +=`<div>

<button type="button" class="btn btn-primary sure btn-mian" onclick="sure()">确认提交</button>

<button type="button" class="btn btn-default " data-dismiss="modal">暂不提交</button>

</div>`

$('.modal-footer').append(html1)

functionsure(){console.logO("===")}

需要获取到div这个元素,可以通过id,class等等方式得到,比如说div的id为"div1",那么就可以这么写了。$('#div1').click(function(){//这里面就是click事件的内容了})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11945689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存