如何使用jquery禁用页面上的所有链接和输入按钮

时间:2012-01-13 20:18:55

标签: javascript jquery input hyperlink

我在django工作并创建了一个具有字段closed的类。当用户为特定对象设置此值时,我想要禁用object_view页面上的所有按钮和链接。

我正在使用以下jquery代码段,但它不起作用。任何人都可以帮我找到错误

<script type="text/javascript">
    $("a").css('cursor','arrow').click(function(){
        return false;
    });
    $("input").attr('disabled','disabled');
</script>

更新:不工作意味着所有链接和输入按钮仍然有效,即被定向到正确的页面。我已在此<head>部分中包含此代码段。

3 个答案:

答案 0 :(得分:4)

尝试:

<script type="text/javascript">
$(document).ready(function(){
  $("a").css("cursor","arrow").click(false);
  // for jquery older than 1.4.3, use the below line
  // $("a").css("cursor","arrow").click(function(){
  //   return false;
  // });

  $(":input").prop("disabled",true);
  // for jquery older than 1.6, use the below line
  // $(":input").attr("disabled","disabled");
});
</script>

您需要$(document).ready(...),以便在页面上存在元素之前代码不会运行。

答案 1 :(得分:2)

我猜你可以用这样的东西关闭所有链接(即锚标签):

$("a").click(function (e) {
   e.preventDefault();
});

这适用于按钮和其他输入

$(":input").attr('disabled','disabled');

答案 2 :(得分:1)

你需要将整个事情包装成:

$(function() {

});

OR

$(document).ready(function () {

});

限制按钮的输入:

$('input[type="button"]').attr("disabled","disabled");

否则您将禁用所有输入元素。