母版页中的Jquery脚本无法在Internet Explorer中运行

时间:2012-08-18 15:46:30

标签: c# jquery asp.net internet-explorer

我在Master页面中有这个脚本(它显示了一个悬停菜单元素的面板)

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>

<script type="text/javascript">
     $(document).ready(function() {
         $('#<%= menu1_lbl.ClientID %>').hover(function() {
             $('#<%= sub_menu1_lbl.ClientID %>').slideDown(200);
         },
         function() {
             $('#<%= sub_menu1_lbl.ClientID %>').hide();
         });

         $('#<%= sub_menu1_lbl.ClientID %>').hover(function() {
             $('#<%= sub_menu1_lbl.ClientID %>').show();
             $('#<%= menu1_lbl.ClientID %>').addClass("menuhover");
         },
         function() {
             $('#<%= sub_menu1_lbl.ClientID %>').hide();
             $('#<%= menu1_lbl.ClientID %>').removeClass("menuhover");
         });
     }); 
</script>

它适用于Chrome&amp; Firefox但它在IE中不起作用。关于如何使其发挥作用的任何想法?

提前感谢。

更新:这是完整的客户端生成代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Smart Finance </title>
    <style type="text/css">

    </style>
</head>
<body>
    <form name="aspnetForm" method="post" action="ie_not_compatible.aspx" id="aspnetForm">
    <div>
        <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
        <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
        <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTY1NDU2MTA1Mg9kFgJmD2QWBAIBD2QWAgIBDxUHFi9GaW5hbmNhL2ltYWdlcy9iZy5wbmcZL0ZpbmFuY2EvaW1hZ2VzL2ltZzAzLmpwZxYvRmluYW5jYS9pbWFnZXMvYmcucG5nGS9GaW5hbmNhL2ltYWdlcy9pbWcwMi5qcGcZL0ZpbmFuY2EvaW1hZ2VzL2ltZzAyLmpwZxkvRmluYW5jYS9pbWFnZXMvaW1nMDIuanBnGS9GaW5hbmNhL2ltYWdlcy9pbWcwMi5qcGdkAgMPZBYCAgkPZBYCAgEPDxYCHgRUZXh0BQVlbmRyaWRkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYDBRhjdGwwMCRMb2dpblN0YXR1czEkY3RsMDEFGGN0bDAwJExvZ2luU3RhdHVzMSRjdGwwMwUMY3RsMDAkY29uZmlnwdDc6GaGSg1K9roW+pf9g9bwZ08=" />
    </div>
    <script type="text/javascript">
//<![CDATA[
        var theForm = document.forms['aspnetForm'];
        if (!theForm) {
            theForm = document.aspnetForm;
        }
        function __doPostBack(eventTarget, eventArgument) {
            if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
                theForm.__EVENTTARGET.value = eventTarget;
                theForm.__EVENTARGUMENT.value = eventArgument;
                theForm.submit();
            }
        }
//]]>
    </script>
    <div>
        <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwKDjNy/AwLh8tHdBgL0/brqCByGAqyFdaUy3EVtuUCi/i44T7vY" />
    </div>
    <div id="menu" style="top: 12px; width: 1250px; position: relative; float: left;">
        <ul>
            <li><a href="Home.aspx" id="ctl00_Homelbl">Home</a></li>
            <li id="faturatli"><a href="Default.aspx" id="ctl00_menu1_lbl">Default</a> </li>
        </ul>
    </div>
    <div id="ctl00_sub_menu1_lbl" style="display: none; top: 137px; padding: 15px 15px 15px 15px;
        box-shadow: 0px 5px 15px rgba(0, 0, 0, .5); z-index: 99999; left: 155px; position: absolute;
        float: left; width: 300px; background: #FFFFFF;">
        Submenu panel
    </div>
    <div id="logoutcontainer" style="top: 113px; right: 50px; position: absolute;">
        <div id="ctl00_Panel1" onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_config')">
            <span id="ctl00_userloggedin" style="color: #ADC9C9; font-size: small; font-weight: 700;">
                endri</span> &nbsp;<a id="ctl00_LoginStatus1" href="javascript:__doPostBack('ctl00$LoginStatus1$ctl00','')"
                    style="color: #CCFFFF; font-size: small; font-weight: 700;">Logout</a>
            <input type="image" name="ctl00$config" id="ctl00_config" src="images/config.png"
                style="height: 20px; border-width: 0px;" />
        </div>
    </div>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.js"></script>
    <script defer="defer" type="text/javascript">
        $(document).ready(function () {
            "use strict";
            $('#ctl00_menu1_lbl').hover(function () {
                $('#ctl00_sub_menu1_lbl').slideDown(200);
            }, function () {
                $('#ctl00_sub_menu1_lbl').hide();
            });
            $('#ctl00_sub_menu1_lbl').hover(function () {
                $('#ctl00_sub_menu1_lbl').show();
                $('#ctl00_menu1_lbl').addClass("menuhover");
            }, function () {
                $('#ctl00_sub_menu1_lbl').hide();
                $('#ctl00_menu1_lbl').removeClass("menuhover");
            });
        });
    </script>
    ​
    <div id="ContentDiv" style="float: left; position: relative; margin: 50px 50px 50px 50px;
        text-align: left; top: 21px; left: 0px;">
        <span class="style3">Not working on internet explorer.</span>
    </div>
    <script src="/finance/WebResource.axd?d=lLeg7eZU8UNEVWRCMptUog2&amp;t=633750586290014532"
        type="text/javascript"></script>
    </form>
</body>
</html>

1 个答案:

答案 0 :(得分:-1)

嘿这个错误通常在没有正确加载jquery库时出现。 尝试以这种方式加载

<script type="text/javascript" src='<%=Page.ResolveUrl("http://code.jquery.com/jquery-1.7.2.min.js")%>'></script>