在使用jQuery在3秒内再次使其可编辑之前,使输入文本不可编辑

时间:2015-10-03 18:34:19

标签: javascript jquery events prop

我有一个输入文字,当你按下回车键时,它假设输入文字不可编辑,然后在3秒内再次编辑。但由于某种原因,它无法正常工作。我究竟做错了什么?感谢。

<input type = "text" id = "text">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type = "text/javascript">

$(function(){

$("#text").keyup(function(e){ 
    if (e.which == 13) {
    $("#text").prop("readonly", true);
    setTimeout(function(){
    $("#text").prop("readonly", false);
}, 3000);

}); //end of if (e.which == 13)

}); //end of $(function())

</script>

2 个答案:

答案 0 :(得分:1)

简单的拼写错误如果关闭,还有一个额外的括号将其删除

$(function() {
  $("#text").keyup(function(e) {
    if (e.which == 13) {
      $("#text").prop("readonly", true);
      setTimeout(function() {
        $("#text").prop("readonly", false);
      }, 3000);
    } //end of if (e.which == 13)
  //-^--- remove ) from here
  }); //end of $(function())
});
// also add this closing
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" id="text">

答案 1 :(得分:0)

取决于您的jquery版本,以下内容将起作用:

 $("#text").attr('readonly', true); //this work for older jquery version 

 $("#text").prop('readonly', true);  //for new jquery version

要删除readonly属性,可以使用removeAttr()

$("#text").removeAttr('readonly');