禁用HTML元素,但不禁用表单元素

时间:2011-01-21 18:22:39

标签: jquery

有没有办法用jQuery禁用HTML元素,它不是表单元素?

例如:

<ul class="selectors">
  <li class="clear-selected">Clear Selected<span>&nbsp;</span></li>
  <li class="select-all">Select All<span>&nbsp;</span></li>
</ul>

我可以'禁用'LI“明确选择”吗?

我想要做的是不能点击LI。

我尝试过类似的东西,但它不起作用:

$('#x').attr('disabled', true);

http://docs.jquery.com/FAQ#How_do_I_disable.2Fenable_a_form_element.3F

谢谢,

修改 -

这个问题是一个更大案例的一部分,这里是Main Question

感谢所有回答的人。

5 个答案:

答案 0 :(得分:3)

嗯,默认情况下,如果单击li元素,则不会发生任何事情。我猜,你的元素附加了点击处理程序,可以执行所描述的操作。在这种情况下,您可以unbind这些处理程序“禁用”元素。

答案 1 :(得分:1)

如果你想要做的就是禁用元素的事件处理程序,你可以这样做:

$(".clear-selected").click(function() {
  return false;
});

答案 2 :(得分:0)

你可以使用以下任何一种:

$(".clear-selected").hide();
$(".clear-selected").remove();

编辑:我认为我的问题读错了。

点击li后会发生什么?如果我们不知道它是什么,就无法真正帮助你停止活动。

答案 3 :(得分:0)

当你说“不能点击李”时,你的意思是什么?你有关于该元素的onclick处理程序吗?如果是这样,您只需删除处理程序。

答案 4 :(得分:0)

由于这个问题是更复杂案例的一部分,因此这里是该解决方案的链接:Buttons activate/deactivate elements in list (complex case)

这是jsfiddle DEMO,注意“Clear Selected”按钮没有点击动作。它使用不透明度“褪色”来表达“不活跃”的想法。

感谢。