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中文网其他相关文章!