使用slidetoggle()双击按钮
double click button using slidetoggle()
我遇到了一个小问题。我使用了一系列按钮,当按下这些按钮时,会关闭以前可见的,然后打开链接到该按钮的。
这部分工作得很好,除非你双击一个按钮,而另一个按钮已经打开。然后,它将关闭链接到单击的按钮。如果你点击另一个按钮,它将打开链接到该按钮的链接,再加上你双击的上一个按钮。
只有双击尚未激活的按钮时,才能创建此错误。
$(document).on('click', 'button', onButtonClick)
function onButtonClick() {
target = $(this).attr('class')
if ($('.active')[0]) {
if(!$('.active').hasClass(target)) {
$('.active').removeClass('active').slideToggle(function () {
$('div.' + target).slideToggle().addClass('active')
})
}
} else {
$('div.' + target).slideToggle().addClass('active')
}
}
这是我的小提琴:http://jsfiddle.net/78TRb/
我的问题是,有没有一种方法可以只允许单击按钮来消除我的错误,或者有更好的方法吗?
非常感谢你的帮助。
$(document).on('click', 'button', onButtonClick)
var clicked = false;
function onButtonClick() {
if(clicked)
{
return;
}
target = $(this).attr('class')
if ($('.active')[0]) {
if(!$('.active').hasClass(target)) {
clicked = true;
$('.active').removeClass('active').slideToggle(function () {
$('div.' + target).slideToggle().addClass('active')
clicked = false;
})
}
} else {
$('div.' + target).slideToggle().addClass('active')
clicked = false;
}
}
这是小提琴http://jsfiddle.net/78TRb/13/
试试这个。
$(document).on('click', 'button', onButtonClick)
function onButtonClick() {
target = $(this).attr('class')
if ($('.active')[0]) {
if(!$('.active').hasClass(target)) {
$('.active').removeClass('active').slideToggle(function () {
$('div.' + target).slideToggle().addClass('active')
})
}
} else {
$('div.' + target).slideToggle().addClass('active')
}
}
这是小提琴http://jsfiddle.net/78TRb/11/
相关文章:
- 当单选按钮的标签可单击时双击
- 可点击按钮表的问题,需要防止双击聚焦按钮,同时保持以下按钮可点击
- JavaScript:如何防止双击或禁用按钮
- 如何阻止双击asp.net按钮
- 开始按钮用于启用和恢复动画,而无需在双击时再次重复该功能(javascript)
- 对 iPhone 耳机在 JavaScript 中的下一个按钮(双击)做出反应
- 浏览器后退按钮 单击到双击使用 JavaScript
- MVC - 用户双击“提交”按钮时出现问题
- 防止双击带有挖空.js按钮
- 按钮需要双击才能更改
- 检查按下了哪个鼠标按钮,如果是双击
- 使用slidetoggle()双击按钮
- 在firefox中,将数据输入到充当单选按钮的文本框中需要双击
- 双击asp.net按钮后应用css类
- 停止用Javascript双击提交按钮
- 如何在单击按钮后再次动态单击按钮(将单个单击视为双击)
- 谷歌快速iPad按钮双击问题
- 当用户双击提交按钮时,需要避免向服务器提交表单两次
- 防止使用asp.net javascript双击按钮
- 防止在javascript中双击按钮