2011-10-27 64 views
0

我有以下需求:我想每次在頁面上加載圖像時調用js,但我還需要在頁面的DOM完成之前加載完成js運行。在<img onload>事件上使用jquery document.ready()事件

我寫了下面的'虛擬'例子,我想知道它是否可以被認爲是正確的。 它似乎工作,但由於jquery說:「.ready()方法通常與 屬性不兼容」,我希望有人告訴我:「是的,你可以做到這一點」。

非常感謝你的幫助, 尼科

例子:

<html> 
<head> 


<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
    function mySetVal() { 

     $(document).ready(function() { 
     $("#status").val("Refreshing"); 
     }); 
    } 
</script> 
</head> 

<body> 


<div style="border:1px solid green"> 
<img src="target.jpeg" id="cat" onload="mySetVal()"></img> 
</div> 

<div> 
<p>E poi che la sua mano a la mia puose con lieto volto, ond'io mi confortai, mi mise dentro a le segrete cose.</p> 
</div> 

<table> 

<tr> 
<th>animale</th><th>pianta</th> 
</tr> 

<tr> 
<td>mucca</td><td>palma</td> 
</tr> 

</table> 

<p>Input: <input type="text" id="status" /></p> 

</body> 
</html> 

回答

0

是的,你可以做到這一點,只要jQuery是圖像之前加載,因爲ready功能將被直接調用如果DOM在調用時已經準備好了。

0

我建議你從img標籤中刪除內聯屬性onload。您可以使用此代碼:

$(document).ready(function() 
{ 
    $("#cat").load(function() 
    { 
     $("#status").val("Refreshing"); 
    }); 
});