gpt4 book ai didi

javascript - 关于和生活的 jquery 问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:51:52 24 4
gpt4 key购买 nike

我有以下代码:

var $reviewButton = $('span.review_button');

$reviewButton
.live('click',
function(){

$('#add_reviews').show();

}
)

稍后在脚本中,我使用 AJAX 调用加载一些内容,$('span.review_button') 的另一个实例进入图片。我更新了上面的代码以使用“.live”,因为点击事件不适用于 AJAX 生成的评论按钮。

此代码有效,因为 .live(click//) 事件适用于静态“span.review_button”和 AJAX 生成的“span.review_button”

但是我看到 .live 被贬低了,所以我试图通过切换到 '.on' 来遵循 jquery 文档说明,但是当我切换到下面的代码时,我遇到了与切换到 '.live 之前相同的问题' 其中点击功能适用于 'span.review_button' 的原始实例,但不适用于 AJAX 生成的实例:

var $reviewButton = $('span.review_button');

$reviewButton
.on('click',
function(){

$('#add_reviews').show();

}
)

建议?

最佳答案

事件委托(delegate)的正确语法是:

$("body").on("click", "span.review_button", function() {
$("#add_reviews").show();
});

在这里,您可以使用 "span.review_button" 的任何 static 父元素代替 body

注意! 正如评论中所讨论的,您应该使用字符串值作为 on() 的第二个参数委托(delegate)事件方法中的方法,但不是 jQuery 对象

关于javascript - 关于和生活的 jquery 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13712266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com