2017-05-07 64 views
-1

我嘗試以focus()作爲Bootstrap模式中的輸入,但似乎沒有任何效果。我已經嘗試了setTimeouttabindex修復程序,但沒有任何結果。焦點()完全不起作用

即使當我在控制檯中運行它:

$("#inpProperty").focus(); 

$("#inpProperty")[0].focus(); 

不集中。我在Fedora上使用Firefox 53.0,64位。

這是模態:

<div id="mdlAddProperty" 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">Create New Property</h4> 
     </div> 
     <div class="modal-body"> 

     <div class="alert alert-danger collapse" id="divAlert"> 
      <a href="#" class="collapse" data-dismiss="alert">&times;</a> 
      <span id="spnMessage"></span> 
     </div> 

     <p>Property Name:</p> 
     <p><input class="input" id="inpProperty" tabindex="1"></p> 
     </div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-success" tabindex="2" onclick="btnAddProperty_Click()">Create</button> 
     <button type="button" class="btn btn-default" tabindex="3" data-dismiss="modal">Close</button> 
     </div> 
    </div> 

    </div> 
</div> 

更新它工作在Chrome一次,零次在Firefox。

+0

代碼示例,請圍繞你的代碼...笑 –

+0

沒有ü環繞代碼與DOM準備的事件? – Nixivious

+0

@Nixivious代碼是從事件處理程序運行的。但正如我所說,即使在控制檯中,我也無法把它聚焦。 –

回答

0

這裏是引導模態事件,你可以使用:

enter image description here

在這裏閱讀更多:https://www.w3schools.com/bootstrap/bootstrap_ref_js_modal.asp

此外,如果您在控制檯中運行JS,你需要使用(開放模式在前):

jQuery("#inpProperty").focus();

$(document).ready(function() { 
 
    $("#myBtn").click(function() { 
 
    $("#mdlAddProperty").modal("show"); 
 
    }); 
 
    $("#mdlAddProperty").on('shown.bs.modal', function() { 
 
    $("#inpProperty").focus(); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/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"/> 
 

 

 
<div class="container"> 
 
    <h2>Modal Events - shown.bs.modal</h2> 
 
    <!-- Trigger the modal with a button --> 
 
    <button type="button" class="btn btn-info btn-lg" id="myBtn">Open Modal</button> 
 

 
    <!-- Modal --> 
 
    <div id="mdlAddProperty" 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">Create New Property</h4> 
 
     </div> 
 
     <div class="modal-body"> 
 

 
      <div class="alert alert-danger collapse" id="divAlert"> 
 
      <a href="#" class="collapse" data-dismiss="alert">&times;</a> 
 
      <span id="spnMessage"></span> 
 
      </div> 
 

 
      <p>Property Name:</p> 
 
      <p> 
 
      <input class="input" id="inpProperty" tabindex="1"> 
 
      </p> 
 
     </div> 
 
     <div class="modal-footer"> 
 
      <button type="button" class="btn btn-success" tabindex="2" onclick="btnAddProperty_Click()">Create</button> 
 
      <button type="button" class="btn btn-default" tabindex="3" data-dismiss="modal">Close</button> 
 
     </div> 
 
     </div> 
 
    </div> 
 
    </div> 
 

 
</div>

+0

這沒有什麼區別。 –

+0

@BartFriederichs確定檢查更新的一個 –

+0

這工作,但我不能讓它運行在我自己的模態代碼。嘗試幾乎所有..... –

0

如果您需要關注它在剛剛beginnig你可以要集中在HTML元素上添加autofocus事件。

<div id="mdlAddProperty" 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">Create New Property</h4> 
     </div> 
     <div class="modal-body"> 

     <div class="alert alert-danger collapse" id="divAlert"> 
      <a href="#" class="collapse" data-dismiss="alert">&times;</a> 
      <span id="spnMessage"></span> 
     </div> 

     <p>Property Name:</p> 
     <p><input class="input" id="inpProperty" tabindex="1" autofocus></p> 
     </div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-success" tabindex="2" onclick="btnAddProperty_Click()">Create</button> 
     <button type="button" class="btn btn-default" tabindex="3" data-dismiss="modal">Close</button> 
     </div> 
    </div> 

    </div> 
</div> 

但是,如果你想用jQuery你這樣做需要$(document).ready(function());

$(document).ready(function() { 
    $("#inpProperty").focus(); 
    $("#inpProperty")[0].focus(); 
}); 
+0

還是什麼都沒有。我想在模式顯示時關注,而不是在文檔加載時。 –

+0

你能提供一個片段嗎?所以我們可以實時進行測試 –