如何设置我的点击回调功能

时间:2012-09-12 18:08:32

标签: jquery

我正在尝试在点击时添加回调函数(当用户第二次点击按钮时)。

我有

$('#toggle').live('click', function(){
        $this=$(this);
        $this.attr('id', 'detail')
        turn()
    }, function(){
        $this.attr('id','detail_close')
        turn()
    })

我似乎无法将id更改为detail_close并在第二次单击后再次调用turn()。有小费吗?非常感谢!

2 个答案:

答案 0 :(得分:1)

   var count = 0; // a counter
   $(document).on('click', '#toggle', function(){

        $this = $(this);
        $this.prop('id', 'detail');  // may use prop(), instead of attr()

        count++;  // increase counter value

        // checking for counter value
        if(count > 1) {
             // do something on second click

             $this.prop('id', 'detail_close'); // change id
             turn();  // call turn()

             count = 0; // reset the counter
        }
    });

由于.live()已弃用,因此为了使委托事件处理使用.on()方法,例如:

$(StaticParent).on(eventName, target, handlerFunction)

答案 1 :(得分:0)

$(document).on('click', '#toggle', function(){
    $this=$(this);
    if($this.prop('id') == 'detail'){
        $this.prop('id', 'detail_close');
        turn();
    }else{
        $this.prop('id', 'detail');
        turn();
    }
});

我们在最新版本的jQuery中使用.on和.prop。