gpt4 book ai didi

javascript - 在 'Facebox' 框中定位一个元素

转载 作者:搜寻专家 更新时间:2023-11-01 05:03:09 24 4
gpt4 key购买 nike

这是我的链接:

http://tinyurl.com/6j727e

如果您单击 test.php 中的链接,它会在使用 jquery“facebox”脚本的模式框中打开。

我正在尝试根据此框中的单击事件采取行动,如果您查看 test.php 的源代码,您会看到我正在尝试在模式框中定位链接的位置。

    $('#facebox .hero-link').click(alert('click!'));

但是,它没有检测到点击,奇怪的是点击事件在页面加载时运行。

不过,关闭按钮确实内置了一个关闭框的点击事件,我怀疑我自己开发的点击事件以某种方式被阻止了,但我想不通。

有人可以帮忙吗?通常它是项目的最后一部分,它阻碍了我,一如既往;)

最佳答案

首先,您收到文档加载警报的原因是 #click 方法将函数作为参数。相反,您将 alert 的返回值传递给它,它会立即显示警报对话框并返回 null。

事件绑定(bind)不起作用的原因是在文档加载时,#facebox .hero-link 尚不存在。我认为您有两种选择可以帮助您解决此问题。

方案1)只在facebox显示后绑定(bind)点击事件。类似于:

$(document).bind('reveal.facebox', function() {
$('#facebox .hero-link').click(function() { alert('click!'); });
});

选项 2) 考虑使用 jQuery Live Query Plugin

Live Query utilizes the power of jQuery selectors by binding events or firing callbacks for matched elements auto-magically, even after the page has been loaded and the DOM updated.

jQuery Live Query 在识别到 Facebox 修改了 DOM 时会自动绑定(bind)点击事件。然后你应该只需要写这个:

$('#facebox .hero-link').click(function() { alert('click!'); });

关于javascript - 在 'Facebox' 框中定位一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/350255/

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