首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在加载后创建的对象上使用jQuery选择器

问在加载后创建的对象上使用jQuery选择器
EN

Stack Overflow用户
提问于 2013-12-17 22:20:13
回答 1查看 75关注 0票数 2

我拿起了一个别人创建的JQuery项目(总是很有趣)。

似乎原始作者在页面元素上创建了一个翻转的弹出窗口。弹出窗口有按钮,例如"class=deleteBtn“。最初,我无法使用典型的jQuery选择器"on“方法让这个链接响应点击,所以我必须这样做:

代码语言:javascript
复制
$(document).on('click', '.deleteBtn', function () {
        alert('foo')         
    });

这确实显示了警报。但是,现在我需要在弹出窗口中隐藏和显示元素,并且再次遇到选择器问题。例如,这不起作用:

代码语言:javascript
复制
$(document).on('click', '.deleteBtn', function () {
        $('.prompt1').hide();
    });

其中div是弹出窗口中的第一个prompt1,是.deleteBtn的祖先。

这里我漏掉了什么?

EN

回答 1

Stack Overflow用户

发布于 2013-12-17 22:40:16

最重要的是,在你开始破解之前,要花点时间去了解之前的程序员在想什么,。不要只是把代码放在代码上面,然后当它“不起作用”时就感到沮丧。尊重前一位开发人员的努力。研究和理解他们的代码;进入他们的头脑,弄清楚他们用来解决问题和满足需求的系统。

话虽如此..。

  1. 我的第一个直觉是,还有其他绑定到有问题的DOM元素的事件,它们通常包含对event.preventDefault()的调用。这可能会阻止您的事件触发。
  2. 这些元素还附加了哪些其他事件?将单击事件附加到文档并将作用域附加到.deleteBtn类很奇怪;还有其他事情在发生。这些弹出窗口是否使用了事件委派?
  3. 当你说"popover“时,这意味着一个单独的浏览器窗口(还记得那些老式的"popunder”广告吗?)你是指这个,一个弹出按钮,还是一个模态?如果你谈论的是弹出按钮或模态,他们可能使用了模态插件,比如lightbox。如果是这样的话,试着找出他们用来创建弹出窗口的插件。如果它们是自定义的,请仔细查看用于显示和隐藏它们的系统。
  4. 检查z索引设置的CSS。我都不知道我被这家伙咬了多少次了。使用不正确的z索引设置,div is正确显示...但在其他内容之下!请记住,要使z索引起作用,容器div必须设置position样式;例如,position:relative、position:absolute等。
  5. 是否收到任何错误?

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20636567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档