javascript - onclick 在页面加载时触发
问题描述
我在菜单中有一个图标,单击该图标会触发显示侧面板的功能,但它也会在页面加载时触发它。
这是代码:
<li class="btn-open-sidecart" onclick="openSideCart()"><i class="fas fa-shopping-cart fa-lg"></i></li>
这是点击时触发的功能:
function openSideCart() {
document.getElementById("mySidebar").style.display = "block";
document.getElementById("myOverlay").style.display = "block";
}
如何防止在页面加载时触发功能?
解决方案
您可以使用addEventListener
document.addEventListener('load', () => {
openSideCart();
});
不要使用内联事件,而是始终addEventListener
为您的按钮使用,例如:
document.querySelector('.btn-open-sidecart').addEventListener('click', () => {
openSideCart();
})
/*
* document.querySelector('.btn-open-sidecart').addEventListener('click', openSideCart) short version
*/
function openSideCart(){
console.log('trigger');
}
<li class="btn-open-sidecart"><i class="fas fa-shopping-cart fa-lg"></i> icon</li>
推荐阅读
- javascript - 循环遍历多个对象数组,以查找与 Javascript 中的多个数组匹配的项目
- nim-lang - 为什么我不能将 => 应用于 void 函数?
- scala - 如何将 RDD 数组字符串转换为数据帧
- python - 找出我的网络服务器不可用的原因
- elasticsearch - Elasticsearch 关联精确匹配项
- powershell - ForEach-Object OutString,Powershell Awk 等价物
- asp.net-mvc - 在 ASP.NET Core Web API 中重用 ASP.NET MVC 5 会话 cookie
- python - 如何将 GMT 转换为 EDT(转换为秒格式)
- apache - 使用 mod_rewrite 进行内部重定向后提供不区分大小写的文件
- javascript - Javascript:使用键移动到 DIV 中的下一个元素