我有以下需要:每次在页面上加载图像时我想调用js但是 我还需要在js运行之前完成页面的DOM加载。
我写了下面的'虚拟'示例,我想知道它是否可以被认为是正确的。 它似乎有效,但是,因为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 :(得分:0)
是的,你可以这样做,只要在图像之前加载jQuery,因为如果DOM在调用时已经准备好,将直接调用ready
函数。
答案 1 :(得分:0)
是的,这正是$(document)ready(...)的意思。
查看http://docs.jquery.com/Tutorials:Introducing_ $%28document%29.ready%28%29
“一旦加载DOM并加载页面内容之前,其中的所有内容都将加载”
答案 2 :(得分:0)
我建议你从img标签中删除内联属性onload。 您可以使用以下代码:
$(document).ready(function()
{
$("#cat").load(function()
{
$("#status").val("Refreshing");
});
});