当前位置:  开发笔记 > 编程语言 > 正文

在"Facebox"框中找到元素

如何解决《在"Facebox"框中找到元素》经验,为你挑选了1个好方法。

继承人我的链接:

http://tinyurl.com/6j727e

如果单击test.php中的链接,它将在模式框中打开,该框使用jquery'facebox'脚本.

我正在尝试对此框中的点击事件采取行动,如果你查看test.php的来源,你会看到我试图在模态框中找到链接.

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

但是,它不会检测到点击,奇怪的是,当页面加载时,click事件会运行.

然而,关闭按钮的内置点击事件会关闭盒子,我怀疑我的本土点击事件是以某种方式被阻止的,但我无法弄明白.

有人可以帮忙吗?通常情况下,它是项目的最后一部分,它始终如一地保持着我;)



1> Ryan McGeary..:

首先,您获取文档加载警报的原因是该#click方法将函数作为参数.相反,您传递了返回值alert,它立即显示警告对话框并返回null.

事件绑定不起作用的原因是因为在文档加载#facebox .hero-link时尚不存在.我认为你有两个选项可以帮助你解决这个问题.

选项1)仅在显示facebox后才绑定click事件.就像是:

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

选项2)研究使用jQuery Live Query插件

Live Query利用jQuery选择器的强大功能,通过绑定事件或自动神奇地触发匹配元素的回调,即使在页面加载和DOM更新后也是如此.

当jQuery Live Query识别到Facebox修改了DOM时,它将自动绑定click事件.那么你应该只写这个:

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

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有