我正在使用$.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頁面呈現期間解析並運行的時候。 –