Использование jquery document.ready () насобытие - PullRequest
0 голосов
/ 27 октября 2011

У меня есть следующая потребность: я хочу вызывать js каждый раз, когда изображение загружается на страницу, но Мне также нужно, чтобы DOM страницы был загружен до запуска js.

Я написал следующий «фиктивный» пример, и я хотел бы знать, можно ли считать его правильным или нет. Кажется, это работает, но, поскольку 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>

Ответы [ 3 ]

0 голосов
/ 27 октября 2011

Да, именно для этого и предназначен $ (document) ready (...).

Посмотрите на http://docs.jquery.com/Tutorials:Introducing_$%28document%29.ready%28%29

"Все внутри него загрузится, как только DOMи перед загрузкой содержимого страницы "

0 голосов
/ 27 октября 2011

Я предлагаю вам удалить встроенный атрибут onload из тега img.Вы можете использовать этот код:

$(document).ready(function()
{
    $("#cat").load(function()
    {
        $("#status").val("Refreshing");
    });
});
0 голосов
/ 27 октября 2011

Да, вы можете сделать это, пока jQuery загружается перед образом, поскольку функция ready будет вызываться напрямую, если DOM уже готов к ее вызову.

...