需要帮助Jquery和Ajax

时间:2011-03-30 09:40:40

标签: javascript ajax jquery

目前我正在使用Ajax开发一个Web应用程序来显示通知消息。但是我不知道为什么notfication消息对话框上的关闭按钮在任何IE浏览器中都没有工作(用9.0和7.0测试)但是它在Firefox上正常工作而且如果我在我的html代码中硬编码jquery代码那么可疑它可以与IE浏览器一起使用。

我正在考虑从Ajax发送的消息是否以某种方式影响了javascript,但我无法弄清楚原因。

任何人都可以帮帮我吗? 非常感谢提前!

这是我的jquery通知框消息代码

<div class="notification information png_bg">
<a href="#" class="close">
<img src="resources/images/icons/cross_grey_small.png" title="Close this notification" alt="close" /></a>
        <div> You have New Lead Notification </div>
</div>

这是我的html代码,用于触发ajax notfication消息

                            <label for ="msg">notice</label>
                            <input type="text" name ="msg" id ="msg" />
                            <a href ="#" id="getNotice"> get notice!</a>

 <script type = "text/javascript">
              $(function()
                {
                    $("#getNotice").click(function()
                        {
                             $.post("/async/getnotification" , {},
                             function(response)
                              {
                                var notice = $(response);
                                 $("#notices").prepend(notice);
                                     });
                                      return false;
                                });
                       });

        </script>
     <div id ="notices">

   </div>

以下是触发关闭按钮的关闭功能的javascript代码

        $(".close").click(
            function () {// Links with the class "close" will close parent
                $(this).parent().fadeTo(400, 0, function () { 
                                        $(this).slideUp(400);
                });
                return false;
            }
        );

1 个答案:

答案 0 :(得分:1)

我终于发现问题与Javascript DOM有关,因此我必须用live

替换click

有关详细信息,请访问link

解决方案

    $(".close").live('click',
        function () {
            $(this).parent().fadeTo(400, 0, function () { 
                $(this).slideUp(400);
            });
            return false;
        }
    );