请告知我如何禁用列表项(动态)?
情景是:
我在列表视图中有10个列表项,在应用程序启动时全部启用。 现在,当用户选择任何列表项时,我需要禁用九个列表项的其余部分。
答案 0 :(得分:4)
在jQuery Mobile中,您可以将类ui-state-disabled
添加到listitem中的锚标记以禁用它。因此,当您单击其中一个时禁用所有其他列表项:
$(document).on("pagecreate", "#page1", function(){
$("#theList li a").on("click", function(){
$("#theList li a").addClass("ui-state-disabled");
$(this).removeClass("ui-state-disabled");
});
$("#btnClear").on("click", function(){
$("#theList li a").removeClass("ui-state-disabled");
});
});
注意:theList是UL的id,btnClear是单独按钮的id,用于从所有列表项中删除禁用的tate。
<强> DEMO 强>
答案 1 :(得分:1)
$(selector).addClass('disabled');
我可以在没有更多细节的情况下给出最佳答案。
答案 2 :(得分:1)
同意@Rene,您需要提供更多详细信息。这个抽象问题的通用(不是最干净的)解决方案是:
CSS:
.disabled {
pointer-events: none;
/* other styles: grayed background etc. */
}
JS(与之前的答案相同):
$(selector).addClass('disabled');
这样可以禁用它,而无需在点击时在JavaScript中检查其状态。