我正在寻找一种简单的解决方案来停用/激活按钮链接。我可以使用addClass / removeClass在停用时将颜色更改为灰色,但仍然可以单击链接。有办法解决这个问题吗?
答案 0 :(得分:2)
您可以阻止链接的默认行为,如下所示:
$('#linkID').click(function(e) { e.preventDefault(); });
如果您的意思是“按钮”而不是“链接”(正如您所说的“按钮链接”我不确定您的意思),您只需disable
按钮:
$('#buttonID').attr('disabled', true);
答案 1 :(得分:2)
你可以试试这个:
$('#linkId')
.addClass('deactivated')
.click(function(e){
if($(this).hasClass('deactivated')){
e.preventDefault();
}
});
这是demo of link click deactivated
请发布您的代码,以便我们根据您的情况进行调整。
答案 2 :(得分:0)
与詹姆斯的回答相似(这是完全合适的),但方法略有不同:
$('a.disabled').click(function(e) {
e.preventDefault();
return false;
});
现在就这样使用:
<a href="foo" class="disabled">Disabled Link</a>
答案 3 :(得分:0)
在jQuery 1.4.3中,您现在可以传入 'false'代替事件处理程序。 这将绑定一个事件处理程序 相当于:function(){return 假; }。可以删除此功能 稍后再打电话:.unbind( eventName,false)。
//Same as e.preventDefault() and e.stopPropagation();
$('a').click(false);
//Or if you don't want to stopPropagation by default()...
$('a').click(function(e) {
e.preventDefault();
});
答案 4 :(得分:0)
对于链接,删除href属性就足够了,如:
if (<something>) {
aHrefLink.attr('href', '/products?productId=' + productId);
aHrefLink.attr('title', '');
} else {
aHrefLink.removeAttr('href');
aHrefLink.attr('title', 'Please select the product first');
}
答案 5 :(得分:0)
虽然这是一个老问题,但我只想更新解决方案。 您可以通过简单地添加 ui-disabled 类来轻松禁用JQuery Mobile中的任何,甚至是自定义DIV或类:
$('#customdiv').addClass('ui-disabled');