jquery hide()没有处理具有绝对位置的div

时间:2015-05-11 02:06:05

标签: jquery

出于某种原因,我无法设法使其发挥作用,我无法找出原因。对于.hide()一个div似乎相当简单,但它似乎不起作用。

$(document).ready(function () {
    $("#uspsSideboxTrackingClose").click(function () {
        event.preventDefault();
        $('#sideboxTrackingInformation').hide();
    });

});

见这里: https://jsfiddle.net/bislewl/73f2d3ut/4/

2 个答案:

答案 0 :(得分:4)

您忘记在演示中包含jQuery。它现在在这里工作:

https://jsfiddle.net/73f2d3ut/10/

添加

<script type='text/javascript' src='//code.jquery.com/jquery-1.9.1.js'></script>

或您喜欢的任何版本。

修正案:@charlietfl我在Chrome和FF之间发现了一些奇怪的东西。在Chrome和IE中,似乎event可用于您的功能而不会被明确传入。请参阅下面的屏幕截图:

enter image description here

但是,在FF中,相同的代码会导致错误。为了安全起见,还要考虑@charlietfl的建议并改变你的功能:

$("#uspsSideboxTrackingClose").click(function (event) {...

更新:我打开了一个question,并且IE和Chrome有一个全局event对象的响应,而FF没有。

答案 1 :(得分:1)

您尚未将event对象传递给点击处理程序。

使用event.preventdefault()导致错误...查看浏览器开发工具控制台

变化:

 $("#uspsSideboxTrackingClose").click(function () {...

$("#uspsSideboxTrackingClose").click(function (event) {...

编辑:感兴趣的注意事项......似乎chrome并不关心事件是否传入,而其他浏览器没有

DEMO