我为我的项目菜单使用了一个迂回脚本。点击菜单项后我有一些动作。我想在第二次单击此选定项目后触发此操作/功能。你能帮我怎么做吗?
这是我的功能的开始:
$('.main_content ul li').bind({click: function(){
我为我的项目菜单使用了一个迂回脚本。点击菜单项后我有一些动作。我想在第二次单击此选定项目后触发此操作/功能。你能帮我怎么做吗?
这是我的功能的开始:
$('.main_content ul li').bind({click: function(){
API:http ://api.jquery.com/dblclick/
将事件处理程序绑定到“dblclick”JavaScript 事件,或在元素上触发该事件。
希望对您的事业有所帮助:)
代码
$('.main_content ul li').dblclick( function(){
});
编辑忽略这一点并使用 Tats_innit 的答案。我可耻地不知道 jQuery 的 dblclick 功能。
(function(){
var state = false;
$('.main_content ul li').click(function(){
if( state === false ) state = true;
if( state ){
state = false;
//do other stuff here
}
});
});
一种方法是手动取消第一次点击:
$('.main_content ul li').click(function() {
if(!$(this).data('clicked-once')) {
$(this).data('clicked-once', true);
return; // cancel first execution
}
// handler body here
});
另一个可能更简洁的one
方法是使用绑定监听器的方法:
$('.main_content ul li').one('click', function() {
$(this).click(function() {
// handler body here
});
});
当然,如果它是您尝试收听的实际双击,您应该dblclick
按照 Tats_innit 的建议使用该事件。也就是说,如果您只想在连续两次单击时触发一个事件。使用双击,三个快速单击只会触发一次该功能,而使用上述解决方案,它将触发两次。使用双击,两次点击之间有一些延迟根本不会导致函数触发,而上面的解决方案会导致它触发一次。
你可以使用 jQuery 的切换事件助手,并且只绑定一个函数。排队的东西:
function iWantThis2bCalled()
{
}
$("#someId").toggle(function(){}, iWantThis2bCalled);