javascript - 单击不会调用单击
问题描述
我需要这样做。用户单击 .next 按钮 -> .btn:first-child after .active -> trigger("click") -> removeClass(".active") -> addClass(".active") 到下一个 .btn
$(".next").click(function() {
$(".active").next().trigger("click");
})
.active{
color:green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="buttons">
<div class="content">
<button class="btn active" >1. Page</button>
<button class="btn" >2. Page</button>
<button class="btn" >3. Page</button>
<button class="btn" >4. Page</button>
<button class="btn" >5. Page</button>
</div>
</div>
<button type="button" name="button" class="next next1">Next <span class="nextBut">
<i class="fas fa-arrow-right">></i></span>
</button>
解决方案
在这种情况下,触发单击不会执行任何操作,因为按钮未绑定到任何单击事件处理程序。我建议直接添加该类(并将其从所有其他类中删除),如下所示:
$(".next").click(function() {
//determine which button will be active next
const $nextActiveButton = $(".btn.active").next();
//remove "active" class from all buttons
$(".btn").removeClass('active');
//add the class to the active button
$nextActiveButton.addClass('active');
});
.active{
color:green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="buttons">
<div class="content">
<button class="btn active" >1. Page</button>
<button class="btn" >2. Page</button>
<button class="btn" >3. Page</button>
<button class="btn" >4. Page</button>
<button class="btn" >5. Page</button>
</div>
</div>
<button type="button" name="button" class="next next1">Next <span class="nextBut">
<i class="fas fa-arrow-right">></i></span>
</button>
推荐阅读
- python - 使用 ODE 系统中的变化参数模拟一个 diff 方程
- python - 基于多个条件的带有条件彩色条的条形图
- html - [EJS]:MIME 类型 ('text/html') 不是受支持的样式表 MIME 类型
- performance - 当添加或动画图像时,为什么浏览器不绘制画布?
- git - 提交文件转到上一次提交
- ios - 为什么我会在 Apple iTunes Connect 设备中看到桌面设备?
- sql - 查找给定日期范围内的重复项
- r - R中的PCA - 尝试计算归一化分数而不是归一化负载
- node.js - 以 UTC 格式输出自定义日期时间格式
- excel - 如何使用来自另一个文件的副本来解析 vba 代码