2012-08-02 40 views
0

我被困在这件事上,它非常奇怪。jQuery:使用asp.net母版页时图片无法加载

首先,这部分工作完美,当我把它放在一个空白的.aspx页面。在鼠标悬停时,弹出警告消息,然后图像变为蓝色。

<script type="text/javascript" src="../../Scripts/SelectCanvas.js"></script> 
<asp:Image ID="imageMain" runat="server" ClientIDMode="Static" Height="300px" 
    Width="300px" /> 

(jquery的代码是在SelectCanvas.js)

$("#imageMain").hover(
function() { 
    alert("main"); 
    $("#imageMain").prop("src", "../../images/selectCanvas/blue.gif"); 
}); 

我把相同的图像控制在使用一个母版.aspx文件。这两个.aspx文件都在同一个目录中,并且都引用相同的jQuery文件。但是,在鼠标悬停时,弹出警报消息,但图像不会变成蓝色......

我已经花了1/2天在这个,并在这个怪癖丢失...提示非常感谢...谢谢。

回答

0

@ahmadali:.prop()的作品......我把它放在我的代码,它工作正常...

SOLUTION:

这是费时又有点痛苦地发现.. 。LOL ...

我更改了虚拟路径(在解决方案资源管理器中单击网站/项目名称,虚拟路径位于属性框中)。

默认情况下,VS使用项目名称:/ myProject的

我把它改为:/


因此,它是为什么警报消息就要到了(jQuery是工作)意义,而是该图像未被找到。这是因为虚拟路径搞砸了图像的路径。

我还是不明白为什么这是一个问题(当使用MasterPage时),而不使用MasterPage时不是问题。但在这一点上,我只是很高兴克服这个颠簸...; -x

0

这是$(el).attr("","");不是$(el).prop("","");

您应使用此代码insted的

$("#imageMain").hover(
function() { 
    alert("main"); 
    $("#imageMain").attr("src", "../../images/selectCanvas/blue.gif"); 
}); 

没有jQuery中任何.prop()方法。你可以使用铬的检查元素工具,并查看错误,找出错误是什么!