Click() 可以用來模擬連結導航嗎?
在使用 JavaScript 計時器時,許多開發人員利用 jQuery 的 click() 函數來模擬連結導航。模擬連結點擊並在設定的時間間隔後導航到另一個頁面。雖然 click() 方法按預期工作,但觀察到了一些意外行為,導致對其功能產生疑問。
瀏覽器行為
如果事件處理程序沒有沒有使用bind()或click()分配給鏈接,調用click()似乎沒有效果。瀏覽器不會按照連結載入目標頁面。
但是,如果先建立事件處理程序,即使處理程序不包含任何程式碼,click() 也會如預期運作。
$('a').click(function(){return true;}).click();
在這種情況下,新頁面將像使用者手動點擊連結一樣載入。
說明
最初,觀察到的行為是據信與程式碼或設定中的問題有關。然而,進一步的測試表明情況並非如此。
jQuery 的 click() 函數的目的是觸發目標元素上的點擊事件。如果沒有為元素定義事件處理程序,click() 只會觸發預設的瀏覽器處理程序,該處理程序會啟動連結導航。
替代解決方案
如果click()行為不合適,有其他可用選項:
利用jQuery 的trigger () 方法:
$('a').trigger('click');
使用普通JavaScript:
document.getElementById("a_link").click()
直接修改window.location:
window.location = "new_page.html";
以上是Click()可以用來模擬連結導航嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!