9

最近我更新了我的 ASP.Net MVC4 项目以升级到 jQuery 1.9.1。但是从那以后,只要加载任何页面,我就会收到一个奇怪的错误:

(Chrome) jquery-1.9.1.js:5823 Uncaught TypeError: Cannot call method 'createDocumentFragment' of null

(IE10)无法获取未定义或空引用 jquery-1.9.1.js 的属性“createDocumentFragment”,第 5823 行字符 3

传递给其父函数 createSafeFragment(document) 的“document”参数始终为 null。该错误在 IE10 和 Chrome 中持续存在。以下是布局中包含脚本的方式:

<script src="/Scripts/jquery-1.9.1.js"></script>
<script src="/Scripts/jquery-ui-1.10.2.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/bootstrap.js"></script>

我试图通过调试脚本来跟踪错误,但找不到确切的来源。

有没有人遇到过这个有什么突破?任何帮助表示赞赏。


更新


jQuery Tooltip 与 Bootstrap Tooltip 冲突。更改了使用 Bootstrap 的功能,并且错误消失了。

4

2 回答 2

19

您只是在引导程序和 jQuery UI 工具提示功能之间存在冲突。

您不能在同一显示器上使用展位工具提示功能。对于任何一个,然后去自定义另一个以删除工具提示功能。删除所有其他重复的无用功能(对于使用 JQUI 或 BT 的对话框也无用)。下载修改后的包并替换 js 目录中的 .js 文件。

未经检查的不需要的功能:Boostrap 自定义包jQuery UI 自定义包

于 2013-05-01T17:37:14.147 回答
5

没有必要删除$(document).tooltip();。可能您打算使用 jQuery ui 工具提示而不是 Bootstrap 工具提示。使用这些行来恢复 Bootstrap 覆盖:

// return $.fn.tooltip to previously assigned value
var bootstrapTooltip = $.fn.tooltip.noConflict();

// give $().bootstrapTooltip the Bootstrap functionality
$.fn.bootstrapTooltip = bootstrapTooltip

// now activate tooltip plugin from jQuery ui
$(document).tooltip();

或者,确保您在jquery uibootstrap.js 之前包含。这也将优先考虑。

于 2014-10-28T08:31:05.210 回答