我创建了一个非常小的mvc4互联网应用程序,在主页上有一个自动完成文本框。一切正常,直到我使用nuget包管理器更新jquery到版本1.8.2,从那时起我被这个函数抛出Microsoft JScript runtime error: Object doesn't support this property or method
错误:
function reduce( elem, size, border, margin ) {
$.each( side, function() {
size -= parseFloat( $.curCSS( elem, "padding" + this, true) ) || 0;
if ( border ) {
size -= parseFloat( $.curCSS( elem, "border" + this + "Width", true) ) || 0;
}
if ( margin ) {
size -= parseFloat( $.curCSS( elem, "margin" + this, true) ) || 0;
}
});
return size;
在jquery-ui-1.8.20.js
文件中。
这就是我在_Layout.cshtml
页面中调用我的脚本和样式的方式:
@Styles.Render("~/Content/css")
@Styles.Render("~/Content/themes/base/css")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
@RenderSection("scripts", required: false)
以及带有文本框的主页:
@using (Html.BeginForm("AutoComplete", "Home", FormMethod.Get, new { style = "text-align: center;" }))
{
<input type="text" id="autocomplete" name="key" data-autocomplete=" @Url.Action("AutoCompleteData", "Home")" />
}
@section scripts{
<script type="text/javascript">
$(document).ready(function () {
$('#autocomplete').each(function () {
$(this).autocomplete({
source: $(this).attr('data-autocomplete')
});
});
});
</script>
}
我尝试更改脚本和样式调用的顺序,但它没有帮助 相同的代码在更新前完美运行 任何帮助将不胜感激。
修改
我下载了最新的jquery-ui文件并将它们添加到我的项目中。我现在没有收到任何错误,但在文本框中键入内容时,它看起来像这样:
(建议隐藏文本框的一部分,子弹可见),
刷新后,建议很好,但子弹仍然可见。
答案 0 :(得分:0)
.curCSS()已被弃用了一段时间,现在已经从jQuery中删除了 必须用.css()方法替换它。尝试使用最新版本的jQuery UI 见http://bugs.jquery.com/ticket/11921
答案 1 :(得分:0)
所以我下载了最新的jquery文件并替换了nuget安装的文件,没有运气! 最终我复制了内容目录,脚本目录形成了一个新的mvc4项目,一切正常。