【问题标题】:can't fadeout a dynamic div using jquery无法使用 jquery 淡出动态 div
【发布时间】:2013-03-30 17:07:55
【问题描述】:

我在 firstpage.php 中有以下 html 结构:

<div id="result" style="display:none">This is result div</div>
<form id="adres" onsubmit="return submitForm();">
<input type="hidden" name="type" value="some_value" />
<input type="submit" value="Open" />
</form>

内联样式:

#result{
position: absolute;
border: 5px solid gray;
padding: 10px;
background: white;
width: 270px;
height: 190px;
} 

这个html页面做了什么,点击“adres”表单的“打开”按钮,一些帖子数据被发送到另一个php页面,该页面根据发送的数据显示信息,如div(显示样式:无)从显示淡入:无。用于此目的的 javascript/jquery 代码如下:

function submitForm(){
  var data=$("#adres").serialize();
  $.post("anotherpage.php",data,
  function(data){
    $("#result").html(data);
    positionPopup();
    $("#result").fadeIn(1000);

  }
 )
return false;
}
function positionPopup(){
$("#result").css({
left: ($(window).width() - $('#result').width()) / 2,
top: ($(window).width() - $('#result').width()) / 2,
position:'absolute'
});
}

$(document).ready(function(){
  $("#divclose").click(function(){
    $(#result).fadeOut(500);
    return false;
});
});

在另一个page.php中:

<?php
echo $_POST['type'];
?>
<br /><a href="#" id="divclose">Close</a>

即在 firstpage.php 中带有获取数据的 div 将弹出如下结构:

<div id="result">
some_value
<a href="#" id="divclose">Close</a>
</div>

到了这个阶段,一切都还好。但是,当我单击弹出 div 上的“关闭”链接时,div 没有关闭(淡出) $("#divclose").click(function() 为什么在这种情况下没有发生这种情况?

【问题讨论】:

    标签: jquery dynamic


    【解决方案1】:

    您需要使用函数on() 在动态创建的元素上绑定事件:

    http://api.jquery.com/on/

    $(document).ready(function(){
        $("body").on('click',"#divclose",function(){
            $('#result').fadeOut(500);
            return false;
        });
    });
    

    你还有一个错字:$(#result).fadeOut(500); => $('#result').fadeOut(500);

    【讨论】:

    • 这也不起作用/关闭 div。而且您的代码中还有一个错字: .on('click',"#divclose",(function() => .on('click',"#divclose",function()
    • 您是否检查过控制台 (F12) 以确保您没有错误?您还可以在单​​击事件回调中添加断点,以确保调用代码并检查您是否只有一个 ID 为“result”的 div
    • 是的,我现在刚刚检查过,没有另一个 id 为结果的 div。
    • 如果我把 Close 本身放在
      那么 onclick div 会与我以前的(第一)代码
    猜你喜欢
    • 2015-12-12
    • 2015-12-15
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    相关资源
    最近更新 更多