如何在jQuery Mobile中禁用链接按钮?
我有一个jQuery Mobile Beta 1网站,带有jQuery 1.6.1链接按钮,如下所示:
TEST
在document.ready中我设置了click事件:
$('#subselection').livequery("click", function(){ alert('test'); });
我想要禁用这个“链接按钮”,我试过了
$('#subselection').button('disable')
并且该命令设置按钮样式,就像它被禁用但单击事件有效。
我也试过了
$('#subselection').prop('disabled', true);
和$(’#subselection’)。prop(’disabled’); 给出了真实,但没有禁用。
有人有个好主意。
a
元素没有disabled
属性。 因此,定义一个不会影响您可能附加到它的任何事件处理程序。
示例: http : //jsfiddle.net/niklasvh/n2eYS/
有关可用属性的列表,请查看HTML 5参考 。
要解决您的问题,您可以改为将disabled
分配为元素中的data
:
$('#subselection').data('disabled',true);
然后在你的事件中检查它的集合:
if (!$(this).data('disabled'))
示例: http : //jsfiddle.net/niklasvh/n2eYS/5/
链接按钮示例:
JS
var clicked = false; $('#myButton').click(function() { if(clicked === false) { $(this).addClass('ui-disabled'); clicked = true; alert('Button is now disabled'); } }); $('#enableButton').click(function() { $('#myButton').removeClass('ui-disabled'); clicked = false; });
HTML
注意: – http://jquerymobile.com/demos/1.0rc2/docs/buttons/buttons-types.html
像按钮一样的链接具有与下面真正的基于表单的按钮相同的视觉选项,但有一些重要的区别。 基于链接的按钮不是按钮插件的一部分,只是使用底层的buttonMarkup插件生成按钮样式,因此不支持表单按钮方法(启用,禁用,刷新)。 如果您需要禁用基于链接的按钮(或任何元素),则可以使用JavaScript自行应用已禁用的ui-disabled类来实现相同的效果。
尝试使用
$('#subselection').button().button('disable'); //disable in JQM $('#subselection').button().button('enable'); //enable in JQM
这似乎在视觉上工作,以显示禁用/启用样式…但“按钮”仍然是可点击的(所以小心!:P)
我知道已经接受了这个答案,但我认为这个答案更容易理解。 只需让click函数返回false。
TEST
您也可以直接使用按钮标签/小部件 ,它具有正确的禁用function。 如果您只是用它来捕获一个事件并运行一些JavaScript,不确定使用链接会有什么好处。