简单的莫代尔弹出不工作在10.0?

时间:2013-07-15 10:31:58

标签: jquery asp.net-mvc html5 internet-explorer simplemodal

我正在使用简单的模态JQUERY插件在我的MVC 4网站上弹出窗口,它可以正常使用CHROME和FIREFOX,但不适用于Internet Explorer v10.0,如果我在IE中打开网站它会抛出< strong> java脚本错误和模态弹出窗口没有出现

Unhandled exception at line 16, column 133 in http://localhost:55939/Scripts/jquery.simplemodal.1.4.4.min.js
0x800a01b6 - JavaScript runtime error: Object doesn't support property or method 'removeExpression'

在布局页面中,我正在渲染以下脚本

<script src="@Url.Content("~/Scripts/jquery-2.0.2.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.infieldlabel.min.js")" type="text/javascript"></script>

以下是我的Login.cshtml页面

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript" ></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript" ></script>
<script src="@Url.Content("~/Scripts/jquery.simplemodal.1.4.4.min.js")" type="text/javascript" ></script>


<div id="login" class="modal">

    @using (Html.BeginForm())
    {
        <p class="heading"><u>Sign in to your Account</u></p>
        <p>
            @Html.LabelFor(m => m.Username, new { @class = "inlabel" })
            @Html.TextBoxFor(m => m.Username, new { @class = "infield" })
        </p>
        <p>
            @Html.LabelFor(m => m.Password, new { @class = "inlabel" })
            @Html.PasswordFor(m => m.Password, new { @class = "infield" })
        </p>
        <table class="errorMessage">
            <tr>
                <td height="10px">
                    @Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.")
                </td>

            </tr>
        </table>
        <div>
            @Html.ActionLink("Forgot your password?", "ForgotPassword")
            <input type="submit" value="Sign In" class="submitButton" />
        </div>

    }

</div>


<script type="text/javascript">
    $(document).ready(function () {
        $("label").inFieldLabels();
        $("#login").modal({ overlayCss: { backgroundColor: '#CCCCCC' } });
    })
</script>

我不确定简单的modal和jquery插件是否存在任何兼容性问题,我们非常感谢任何帮助。

非常感谢

2 个答案:

答案 0 :(得分:2)

请参阅Noah Lehmann-Haupt在这个问题中的答案:Simple Modal, jQuery 1.8.0 and IE9

您需要编辑jquery.simplemodal

的一行
 // (Line 239) $.support.boxModel is undefined if checked earlier
 //browser.ieQuirks = browser.msie && !$.support.boxModel;
 browser.ieQuirks = browser.msie && (document.compatMode === "BackCompat");

jQuery 1.10.1已重新发生此问题

答案 1 :(得分:0)

问题是IE希望一切都干净整洁。无论如何,这是一个错误,你可以检查我在这说什么

SimpleModal Bug in IE