0

我坚持这一点,这很奇怪。

首先,当我将它放在空白的 .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");
});

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

我在这上面花了 1/2 天,对这个怪癖不知所措......非常感谢提示......谢谢。

4

2 回答 2

0

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

你应该使用这个代码

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

jquery中没有任何.prop()方法。您可以使用 chrome 的检查元素工具并查看错误以找出错误所在!

于 2012-08-02T00:39:49.993 回答
0

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

解决方案:

这很耗时,而且发现起来有点痛苦……哈哈……

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

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

我将其更改为:/


因此,为什么会出现警报消息(jQuery 正在工作)但找不到图像是有道理的。这是因为虚拟路径搞砸了图像的路径。

我仍然不明白为什么这是一个问题(使用 MasterPage 时),而在不使用 MasterPage 时它不是问题。但在这一点上,我很高兴能克服这个障碍...... ;-x

于 2012-08-02T23:21:04.173 回答