2012-05-30 14 views
3

我在頁面上的圖片上有onmouseover和onmouseout屬性。當提交的onmouseover和onmouseout導致圖像失敗(返回圖像源未找到圖標)在發佈或離開頁面時,onmouseover在Chrome中失敗

<input type="image" src="../../Content/Resources/save.png" onmouseover="mouseOverForImage('save', '../../Content/Resources/save_mouse_over.png')" 
       onmouseout = "mouseOverForImage('save', '../../Content/Resources/save.png')" id="save" 
       title = "Save" /> 

和Javascript:

function mouseOverForImage(imgId, imgSrcs) { 
     document.getElementById(imgId).src = imgSrcs; 
    } 
+0

你能在這裏發表您的代碼,或者鏈接到jsfiddle.net? – hookedonwinter

+0

@hookedonwinter查看編輯 – karaxuna

+0

你是積極的圖像在這些位置?嘗試直接去他們,以確保他們存在。 – hookedonwinter

回答

2

你可以嘗試這樣的事情

function mouseOverForImage(imgId, imgSrcs) { 

    var image = new Image(); 

    image.src = imgSrcs; 

    image.onload = function() { 
     document.getElementById(imgId).src = imgSrcs; 
    }; 

} 
+0

多麼美妙的解決方案 – karaxuna

3

我做了一個page on jsfiddle來測試您的問題(請注意,您需要運行該頁面爲了看到具有相對路徑的圖像,這是所有瀏覽器中發生的jsfiddle問題)。

將[+]圖像按鈕(將變成[?])並單擊它。當頁面被加載的時候,你可以根據需要多次拖拽/拖出/結束/結束/結束......它會工作:圖像將會改變,並且不會出現404錯誤。

我使用Chrome 20

這使我以下的問題:

  1. 什麼是你的Chrome瀏覽器版本,您可以重現該問題在Safari?我記得Webkit有一個顯示圖像相當隨機的錯誤...
  2. 你發佈了代碼究竟是?你是否100%肯定沒有缺失的報價,或者「0」而不是「o」,還是有一些與信件有關的問題?
  3. 當您提交表單時,您的網頁(或iframe)網址是否同時更改?如果是這樣 - 你的相對路徑將不再工作,你會得到你的404。你可以通過設置圖像的src的完整路徑來測試它嗎?也許還記錄當前的網址?
  4. 其他一些代碼(onsubmit event?)是否會干擾你的表單?你可以發佈更多的代碼或創建一個jsfiddle來重現你的問題?
  5. 我們/我是否正確理解您的問題? :)

謝謝。

0

代替使用mouseover和mouseout事件,請嘗試使用mouseenter和mouseleave。它通常適用於這些類型的問題。