您需要将事件处理程序绑定到绑定时存在于 DOM 中的元素。
如果您将脚本称为:
<script>
$('.smileys img').click(function () {
alert("hello");
});
</script>
<div class="smileys">
<img src="images/smileys/mad.gif"/>
</div>
然后,您需要将事件委托给存在的事物,例如window
、document
或body
:
$('body').on('click', '.smileys img', function () {...});
或者,您可以等到文档准备好后再绑定事件:
<script>
jQuery(function ($) { //aliasing shortcut for $(document).ready...
$('.smileys img').click(function () {
alert("hello");
});
});
</script>
<div class="smileys">
<img src="images/smileys/mad.gif"/>
</div>
Document.ready 导致该函数在页面的所有内容构建完成后,但在图像和其他外部内容完成加载之前执行。
或者,您可以简单地在 DOM 中创建元素<script>
之后放置:
<div class="smileys">
<img src="images/smileys/mad.gif"/>
</div>
<script>
$('.smileys img').click(function () {
alert("hello");
});
</script>