我正在尝试在点击时添加回调函数(当用户第二次点击按钮时)。
我有
$('#toggle').live('click', function(){
$this=$(this);
$this.attr('id', 'detail')
turn()
}, function(){
$this.attr('id','detail_close')
turn()
})
我似乎无法将id更改为detail_close并在第二次单击后再次调用turn()。有小费吗?非常感谢!
答案 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。