2016-04-28 108 views
1

我尝试在不删除点击事件的情况下禁用实现中的按钮。但正如你可以看到这个jsfiddle,我只获得视觉效果。点击事件仍在启动。如何通过实现禁用按钮?

我试过如下:

$('#btnOne').prop('disabled', true).addClass('disabled'); 

它是一个错误吗?或者我做错了什么?

编辑:似乎没有与标签问题button

回答

2

我找到了答案。

a标签不能被属性禁用,button可以用来代替。

2

您可以删除当点击#disableBtnOne听众 -

$('#disableBtnOne').click(function(){ 
    $('#btnOne').prop('disabled', true).addClass('disabled').off("click"); 
}); 

见新Fiddle

+0

但是如果我想在click事件中保留函数。我不想每次重新绑定它 – Clemzd

3

你可以添加一些CSS规则并保留你当前的jQuery代码。

例如:

.disabled { 
    pointer-events: none; 
} 

这将阻止所有的事件,当这个类被触发。

fiddle

注:指针事件在最现代的浏览器支持。检查出来:http://caniuse.com/#feat=pointer-events

+0

伟大的发现,但我更喜欢使用JavaScript的解决方案对不起 – Clemzd

+0

没问题。 @Clemzd是对的。你应该把''anchor''改成''button''。我现在也注意到,你没有给''''放置''href''属性,这根本不是一个好习惯。所以,坚持“按钮”。 – Ardian