我正在使用$.click()
触发某些事件的方法。但是我需要在元素被声明之前为一些 HTML 元素设置一些事件。让我们以此为例:
<script>
$('div.hide').click(function() {
$('div.hide').css({'display' : 'none'});
});
</script>
<div class="hide">some text</div>
缺点是设置.click()
方法时,div.hide
元素不存在,所以没有设置触发器。
所以我转向了这个.on()
方法,就像这样:
<script>
$('div.hide').on('click', function() {
$('div.hide').css({'display' : 'none'});
});
</script>
<div class="hide">some text</div>
但这也行不通。我认为调用.on()
会使所有现有和未来div.hide
的元素触发'click' function()
.
我设法克服了这种不便,但就我自己的知识而言,我想知道我做错了什么。有没有办法为未来的 HTML 元素分配触发器?
我的解决办法是:
<script>
$(document).ready( function() {
$('div.hide').click(function() {
$('div.hide').css({'display' : 'none'});
});
});
</script>
<div class="hide">some text</div>