直播活动 on()

Live event on()

我添加了 DOM 个元素 class="divhide"$.getJSON

现在我有很多 div 和 class="title",我添加了事件,但这不起作用:

$('.title').on("click",'div.divhide' , function () {
    var description = $(this).find('.divhide')
    description.slideToggle();
})

我在getJSON里也加了class="title"

如果您在添加点击处理程序后通过 getJSON 添加 .title 元素,则处理程序将不会附加到新元素。

应用处理程序时元素必须存在。这就是我们使用委托的原因。换句话说,将处理程序附加到将始终存在的父元素,或者在应用处理程序代码时至少存在:

$('body').on("click",'div.divhide' , function () {
    var description = $(this).find('.divhide')
    description.slideToggle();
})

这是一个极端的例子(可能并不明智),因为您可能不想过滤页面上的所有点击。但是,由于正文将始终存在,因此它将处理每次点击并进行过滤以查看初始点击是否在 div.divhide.

找到 .title div 的父级而不是 body,它不会被您的 getJSON 调用修改并且在您应用处理程序时存在。