gpt4 book ai didi

javascript - Facebox 只能使用一次

转载 作者:行者123 更新时间:2023-11-30 07:46:40 25 4
gpt4 key购买 nike

按照 Facebox 网站上的文档所述绑定(bind)我的 Facebox 请求。

但是在我点击其中一个 div.comment 之后,Facebox 请求不再有效。

我正在使用的代码就在下面,再往下就是我的错误。

$(document).ready(function() {
$('.comment').bind('click', function() {
$.facebox({ajax: '/project/cake_app/comment/tweets/' + $(this).attr('id')});
});
});

错误:

Uncaught TypeError: Object function (a,b){return new d.fn.init(a,b,g)} has no method 'facebox'

最佳答案

Kim 将 bind() 替换为 live() 的建议之所以没有奏效,是因为问题不在于原始的点击事件处理程序丢失。

如错误提示:

Uncaught TypeError: Object function (a,b){return new d.fn.init(a,b,g)} has no method 'facebox'

问题是 jQuery $ 对象丢失了 .facebox() 方法。除了在 facebox 中加载 jQuery 时,Facebox 可以正常关闭和重新打开窗口。这样做会在 facebox 已经加载后重新初始化 jQuery,因此当 jQuery 重新初始化时,facebox 没有机会将自己重新添加到 jQuery $ 对象。

我通过从加载到 facebox 的代码中删除 jQuery 解决了这个问题。如果 jQuery 已经加载到主页上,那么它就在环境中,无需在 facebox 代码中再次加载它。如果您在主页和 facebox 内的代码中都依赖 jQuery,这只是一个问题。我想如果您必须在 facebox 中再次加载 jQuery,您可以使用 jQuery.noConflict() 来使用单独的实例。

关于javascript - Facebox 只能使用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4885368/

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