模态内的HTML5 <textarea>自动聚焦属性不起作用

时间:2017-03-17 09:02:41

标签: javascript php jquery html twitter-bootstrap

&lt; p&gt; HTML&lt; / p&gt; &LT;预&GT;&LT;代码&GT; &lt; textarea name =&#34;评论&#34;自动对焦&GT;&LT; / textarea的&GT; &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;模态中的HTML5自动对焦属性不起作用&lt; / p&gt; &lt; p&gt;这是我的模型页面//但我在同一页面中有多个模型//&lt; / p&gt; &LT;预&GT;&LT;代码&GT; &lt; div class =&#34; modal hide fade in&#34;角色=&#34;对话框&#34;咏叹调-labelledby =&#34; myModalLabel3&#34;的tabindex =&#34; -1&#34;咏叹调隐藏=&#34;真&#34; ID =&#34;&#34; &GT;    &lt; form class =&#34; form-horizo​​ntal&#34;命名=&#34;形式&#34;方法=&#34;后&#34;行动=&#34;&#34;风格=&#34;边距:0像素&#34;&GT;       &lt;! - 模态内容 - &gt;             &lt; div class =&#34; modal-content&#34;&gt;               &lt; div class =&#34; modal-header&#34;&gt;                   &lt; h4 class =&#34; modal-title&#34;&gt; XXXXXXX&lt; / h4&gt;               &LT; / DIV&GT;               &lt; div class =&#34; modal-body&#34;&gt;                 &lt; div class =&#34; control-group&#34;&gt;                   &lt; label class =&#34; control-label&#34;&gt; YYYYY&lt; / label&gt;                   &lt; div class =&#34;控制备注&#34;&gt;                     &lt; textarea name =&#34; YYY&#34;自动对焦&GT;&LT; / textarea的&GT;                   &LT; / DIV&GT;                 &LT; / DIV&GT;               &LT; / DIV&GT;               &lt; div class =&#34; modal-footer&#34;&gt;                     &lt; button class =&#34; btn&#34;数据驳回=&#34;模态&#34;咏叹调隐藏=&#34;真&#34;&GT;关闭&LT; /按钮&GT;                     &lt;输入类型=&#34;提交&#34;的onClick =&#34; alertConfirm(&#39;测试&#39;);&#34; class =&#34; btbtn-medium btn-primary&#34;值=&#34;&#34;命名=&#34;&#34; /&GT;               &LT; / DIV&GT;             &LT; / DIV&GT;         &LT; /形式&GT;     &LT; / DIV&GT; &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;我试过javascript Code也..提前感谢..&lt; / p&gt;

4 个答案:

答案 0 :(得分:2)

默认情况下隐藏输入时,

autofocus无法正常工作。你必须在JS中这样做:

$('#myModal').on('shown.bs.modal', function() {
    $(this).find('textarea[name="YYY"]').focus();
});

答案 1 :(得分:0)

使用Textarea中的自动对焦检查示例

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <!-- Trigger the modal with a button -->
  <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>

  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">
    
      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;</button>
          <h4 class="modal-title">Modal Header</h4>
        </div>
        <div class="modal-body">
          <form>
    <div class="form-group">
      <label for="comment">Comment:</label>
      <textarea class="form-control" rows="5" id="comment" autofocus></textarea>
    </div>
  </form>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div>
      
    </div>
  </div>
  
</div>

</body>
</html>

答案 2 :(得分:0)

隐藏输入后,

自动对焦功能不起作用。 使用显示的事件进行焦点$('#myModal').on('shown', function() { })

&#13;
&#13;
$(document).ready(function(){
 $('#myModal').modal('show');
    $('#myModal').on('shown', function() {
        $("#remark").focus();
    })
 
})
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>

<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Modal Header</h4>
      </div>
      <div class="modal-body">
        <p>Some text in the modal.</p>
        <textarea id="remark" autofocus></textarea>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>

  </div>
</div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

  

在textarea中尝试此属性

cdkFocusInitial