首页 > 解决方案 > 如何组合多个 onclick 动作?

问题描述

我在一个页面上有两个滑块,每个都有自己的分页,有没有办法结合这两个onclick动作,所以我有一个控制两个滑块的全局滑块?

<a href="#" onClick="(function(){slider_image.goToSlide(<?php echo $slide++; ?>);return false;})();return false;">

<a href="#" onClick="(function(){slider_copy.goToSlide(<?php echo $slide++; ?>);return false;})();return false;">

标签: javascripthtmleventsonclick

解决方案


您不能将单个事件侦听器添加到多个元素(使用 vanilla js),但您可以使用循环和(而不是在 html 中addEventListener嵌入处理程序)来整合您的代码。onclick您还可以在 DOM 层次结构中的其他位置附加事件侦听器,并在事件冒泡时捕获它,但是如果不查看更多 html,很难知道这是否适用于您的情况。使用循环和的示例addEventListener

const links = document.querySelectorAll('a');
for (const link of links) {
  link.addEventListener('click', (event) => {
    // your click function here
  });
}

推荐阅读