我正在使用$.click()
方法来触发某些事件。但是之后我需要在声明元素之前为某些HTML元素设置一些事件。让我们以此为例:不确定.on()方法
<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元素?
我solituion是:
<script>
$(document).ready(function() {
$('div.hide').click(function() {
$('div.hide').css({'display' : 'none'});
});
});
</script>
<div class="hide">some text</div>
注意有关'$(文件)。就绪(函数(){});'包装,即为文档就绪事件添加事件处理程序,以便在该事件触发之前,内部代码不会运行。这可以确保页面在脚本运行之前完全呈现,而不是在JavaScript页面呈现期间解析并运行的时候。 –