0

我为我的项目菜单使用了一个迂回脚本。点击菜单项后我有一些动作。我想在第二次单击此选定项目后触发此操作/功能。你能帮我怎么做吗?

这是我的功能的开始:

$('.main_content ul li').bind({click: function(){
4

4 回答 4

1

API:http ://api.jquery.com/dblclick/

将事件处理程序绑定到“dblclick”JavaScript 事件,或在元素上触发该事件。

希望对您的事业有所帮助:)

代码

$('.main_content ul li').dblclick( function(){

});
于 2012-07-31T08:18:57.613 回答
1

编辑忽略这一点并使用 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
        }
    });
});
于 2012-07-31T08:19:47.063 回答
1

一种方法是手动取消第一次点击:

$('.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 的建议使用该事件。也就是说,如果您只想在连续两次单击时触发一个事件。使用双击,三个快速单击只会触发一次该功能,而使用上述解决方案,它将触发两次。使用双击,两次点击之间有一些延迟根本不会导致函数触发,而上面的解决方案会导致它触发一次。

于 2012-07-31T08:30:51.413 回答
0

你可以使用 jQuery 的切换事件助手,并且只绑定一个函数。排队的东西:

function iWantThis2bCalled()
{
}

$("#someId").toggle(function(){}, iWantThis2bCalled);
于 2012-07-31T08:24:51.327 回答