javascript - 有没有办法在使用 jQuery 的第二次点击时添加不同的操作?
问题描述
我目前的代码是这样的:
$('.how-we-menu').on('click', function() {
$('.how-we-menu > ul').slideDown();
$('.under').on('click', function() {
$('.under > ul').slideDown();
})
$('.over').on('click', function() {
$('.over > ul').slideDown();
})
$('.ar').on('click', function() {
$('.ar > ul').slideDown();
})
$('.fc').on('click', function() {
$(this).children('ul').slideToggle();
})
});
我试图避免滑动切换,因为它会影响另一个元素并将它们都向上滑动,所以我想让每个元素单独工作。因此,当您单击“.fc > ul”时,它会向下滑动,当您再次单击时,它会向上滑动。
我希望这是有道理的谢谢!
解决方案
在函数中使用$(this)
,因此它只影响您单击的元素。
$('.fc').on('click', function() {
$(this).children('ul').slideToggle();
});
并且所有事件处理程序都应该在顶层,而不是在另一个事件处理程序内。由于它们都做同样的事情,您可以一次绑定它们。
$('.how-we-menu, .under, .over, .ar, .fc').on('click', function() {
$(this).children('ul').slideToggle();
});
推荐阅读
- python - 为什么 Python 脚本有时在 Windows 任务计划上运行错误?
- python - 有重复项时如何合并两个计数向量化器?
- python - Python:从 CSV 文件中的列创建多个文本文件
- c# - 使用 XPath 进行 Xml 反序列化
- twilio - Twilio:通话记录中的通话记录 mp3 文件存在问题
- python-3.x - 在另一个数据框中寻找匹配的具体记录
- azure-devops - 如何在虚拟机上运行部署组?
- python - 在 for 循环中更改多个 pandas 数据帧的数据类型
- python - 控制图例中文本的对齐方式
- sql - 从Powershell中的文件名中提取值到变量中