在頁面載入之後,我們常常會遇到連動的問題。這時候就需要在頁面載入後就自動觸發第一個點擊事件這樣後面的連動才能在網頁中顯示出來。
在js當中可以使用
trigger方法
$("selector").trigger("click");
例如在我的程式碼中我先給這個ul 裡面的li 添加了點擊事件 然後模擬觸發了這個事件。
$(".place-classify ul").on("click","li",function(){ var placeName = $(this).html(); createPlaceContent(placeName) ; }); $(".place-classify ul li:first-child").trigger('click');
但有的時候模擬事件並沒有觸發一般可能遇到兩個問題:
模擬點擊事件寫在了點擊事件的前面。
有的人認為這個是在頁面載入後才觸發的尤其是寫在$(function(){});
當中就是先渲染在觸發,但是一個頁面打開先渲染的是整個頁面的元素,而不是js程式碼,js程式碼還是會一條條的往下執行,那麼把模擬點擊寫在前面的話就是先觸發再聲明,所以沒有效果,把他移到點擊事件的後面就可以了。
已經把點擊事件移到了後面但還是沒有觸發,那麼可能是異步加載的原因,由於你的網頁是異步加載那麼由於數據還沒有處理完你就發生了點擊事件,同樣的道理,動態生成的元素都還沒生成,就觸發了點擊事件。辦法就是把ajax請求改為同步請求。 $.ajax({ <br>
url:url, <br>
data:data, <br>
async:false, <br>
success:function(result){ <br>
handle(result); <br>
}, <br>
error:function(result){ <br>
alert("取得資料失敗"); <br>
} <br>
});
以上是js模擬點擊事件的詳細內容。更多資訊請關注PHP中文網其他相關文章!