我使用的是asp.net 4.0。我正在“routes.MapPageRoute”的帮助下创建Url。
所以我注意到由于url不是静态的,jquery文件没有加载。所以我用过 “ResolveClientUrl”。我可以加载js文件,但在jquery代码中我得到错误。
我确实问了同样的问题 http://forums.asp.net/t/1680184.aspx/1?Jquery+Error+Object+Doesn+t+support+this+method+or+property+
我也给出了错误的图片.. 拜托,任何人都可以指导我哪里出错了。
我不知何故觉得我有问题,因为我在全局文件中写了url模式。
代码:
<asp:Content ID="content1" runat="server" ContentPlaceHolderID="HeadContent">
<link href="../js/fancybox/jquery.fancybox-1.3.4.css" rel="stylesheet" type="text/css" />
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.1.js" type="text/javascript"></script>
<script src='<%=ResolveClientUrl("~/js/fancybox/jquery.fancybox-1.3.4.js")%>' type="text/javascript"></script>
<script src='<%=ResolveClientUrl("~/js/fancybox/jquery.easing-1.3.pack.js")%>' type="text/javascript"></script>
<script src='<%=ResolveClientUrl("~/js/fancybox/jquery.mousewheel-3.0.4.pack.js")%>' type="text/javascript"></script>
<script type="text/javascript">
$.noConflict();
$(document).ready(function () {
$(".fancyYoutube").fancybox({
'transitionIn': 'elastic',
'transitionOut': 'fade',
'width': 680,
'height': 495,
'type': 'swf'
});
});
</script>
</asp:Content>
错误:
答案 0 :(得分:3)
您需要从代码的开头删除$.noConflict();
;或者如果你想保留它,你不应该在它后面的行中使用$
:
解决方案1:
// $.noConflict(); <-- comment or remove this line
$(document).ready(function () {
$(".fancyYoutube").fancybox({
'transitionIn': 'elastic',
'transitionOut': 'fade',
'width': 680,
'height': 495,
'type': 'swf'
});
});
解决方案2:
$.noConflict();
jQuery(document).ready(function () {
jQuery(".fancyYoutube").fancybox({
'transitionIn': 'elastic',
'transitionOut': 'fade',
'width': 680,
'height': 495,
'type': 'swf'
});
});
说明:
正如the docs所述,您使用$.noConflict()
告诉jQuery 不要使用$
并让其他库使用它。这里没有其他库,所以你不需要放弃jQuery对$ variable 的控制,所以这两个解决方案都适合你。
答案 1 :(得分:1)
我遇到了同样的问题。
检查css文件中所有src路径是否正确:
例如,这一行有一个关于我的网络树的src worng:
.fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='**fancybox/**fancy_shadow_n.png', sizingMethod='scale'); }
同时检查css文件是否正确加载。使用浏览器中的调试选项进行检查。