这是我的代码:
$('.answerx').live('click', function(){
comprobar($(this).attr('name') , "\'" + $(this).attr('id') + "\'");
})
我想这样做,一旦点击完成,用户就无法再次点击并运行该功能,因为多次运行的功能让我的程序变得疯狂。
有没有办法让它在点击一次后禁用对id为$(this).attr('id')
的特定元素的进一步点击
答案 0 :(得分:3)
您可以将点击的对象标记为这样。有很多方法可以做到这一点。例如,添加一个类。
$('.answerx').live('click', function(){
if(!$(this).hasClass('disabled')) {
comprobar($(this).attr('name') , "\'" + $(this).attr('id') + "\'");
$(this).addClass('disabled');
}
})
添加类的其他好处是可以分别设置disabled元素的样式。
答案 1 :(得分:1)
保持简单:
var boolHasBeenRun = false;
$('.answerx').live('click', function(){
if(boolHasBeenRun === false){
comprobar($(this).attr('name') , "\'" + $(this).attr('id') + "\'");
boolHasBeenRun = true;
}
});
或者
$('.answerx').live('click', function(){
comprobar($(this).attr('name') , "\'" + $(this).attr('id') + "\'");
$('.answerx').die('click');
});
或使用现代.off()