【问题标题】:Jquery attempting to hide element when clicking on a childJquery在点击一个孩子时试图隐藏元素
【发布时间】:2009-11-03 17:53:53
【问题描述】:

我试图在单击 ID 为“关闭”的图像时隐藏元素。

$('#close').click(function() {
    $('#ordercell').hide('slide');
});

据我所知,应该是我所需要的,但是当我点击时什么都没有发生。

$(document).keyup(function(event) {
    if (event.keyCode ==27) {
        $('#ordercell').hide('slide');
    }
});

按下转义键时隐藏起来效果很好,所以我不太确定我错过了什么。

我的 HTML 是(不使用图像 ATM,因为我认为我会在制作脚本之前让脚本工作):

<div id="ordercell">
    <div id="orderform">
        <div class="cardorder" id="cardorder56">
        <div id="close">X</div>
        <img src="foo.jpg">
        </div>
    </div>
</div>

这都是硬编码的,没有 AJAX。

【问题讨论】:

  • 你的 html 是什么样的?
  • 您是否有多个 ID 为 #close 的图像?
  • 我有一个带有关闭 ID 的元素。一旦我得到这个工作,我会把它改成一个类,这样我就可以处理多个图像。

标签: jquery jquery-ui hide show


【解决方案1】:

设置点击功能时,DOM中是否已经存在id="close"的图片?

顺便说一句。 WFM。在这里查看http://jsbin.com/acose

【讨论】:

  • 我猜问题出在哪里,是我不知道我需要它在 $(document).ready() 块中。我的代码使逃生关闭不需要。谢谢,现在可以使用了。
【解决方案2】:

当您绑定到 click 事件时,DOM 中是否存在 #close?如果您使用 ajax 或其他方式来修改 DOM,您需要在代码中设置点击事件或使用live。

$("#close").live("click", function() { do stuff });

此外,您应该从单击事件中返回 false 或调用 preventDefault。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-06
    相关资源
    最近更新 更多