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 ファイルを参照しています。しかし、マウスオーバーすると、警告メッセージがポップアップしますが、画像は青くなりません... ???

私はこれに半日を費やしましたが、この癖に途方に暮れています...ヒントは大歓迎です...ありがとう。

4

2 に答える 2

0

@ahmadali: .prop() は動作します...コードに残しましたが、正常に動作します...

解決:

これは時間がかかり、発見するのに少し苦労しました...笑...

仮想パスを変更しました (ソリューション エクスプローラーで Web サイト/プロジェクト名をクリックすると、仮想パスがプロパティ ボックスに表示されます)。

デフォルトでは、VS はプロジェクト名を使用します: /myProject

これを次のように変更しました: /


したがって、警告メッセージが表示された (jQuery が動作している) のに、画像が見つからなかった理由は理にかなっています。これは、仮想パスがイメージへのパスを台無しにしていたためです。

MasterPage を使用していない場合は問題にならないのに、なぜこれが問題になるのか (MasterPage を使用する場合) はまだわかりません。しかし、この時点で、このバンプを乗り越えることができてうれしいです... ;-x

于 2012-08-02T23:21:04.173 に答える
0

そう$(el).attr("","");じゃない$(el).prop("","");

このコードを挿入して使用する必要があります

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

.prop()jqueryにはメソッドがありません。クロムの要素検査ツールを使用してエラーを確認し、エラーの内容を確認できます。

于 2012-08-02T00:39:49.993 に答える