nid*_*dHi 3 javascript jquery modal-dialog bootstrap-modal
我的代码中有一个名为myModal. 仅当按下enter键盘上的 时显示模态,我才希望单击模态上的按钮。我有以下代码,
HTML
<div data-backdrop="static" data-keyboard="false" class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header"></div>
<div class="modal-body">
<table>
<tr>
<td>Username</td>
<td style="padding:5px;">
<input type="text" id="hostUsername" name="hostUsername" value="root" readonly="readonly">
</td>
</tr>
<tr>
<td>Password</td>
<td style="padding:5px;">
<input type="password" id="hostPassword" name="hostPassword" value="KJFDKFGS">
</td>
</tr>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" onclick="uncheck_host()" >Close</button>
<button type="button" class="btn btn-primary" id="getDataBt" onclick="getData()">Save changes</button>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JavaScript
$('#myModal').on('shown.bs.modal', function (event) {
alert("BEFORE ENTER clicked");
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
alert("AFTER ENTER clicked");
$('#getDataBt').click();
}
});
Run Code Online (Sandbox Code Playgroud)
"BEFORE ENTER clicked"当模态出现时,这里会发出警报。但是在模式出现后按键盘上的 Enter 键时,"AFTER ENTER clicked"不会发出警报。我需要一些这方面的指导。
小智 6
你应该这样做:
$('#myModal').on('keypress', function (event) {
alert("BEFORE ENTER clicked");
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
alert("AFTER ENTER clicked");
$('#getDataBt').click();
}
});
Run Code Online (Sandbox Code Playgroud)
或者
$('#myModal').on('keyup', function (event) { ..... });
您需要检查模态是否打开并同时按下回车键。就像是:
$(document).keypress(function(e) {
if ($("#myModal").hasClass('in') && (e.keycode == 13 || e.which == 13)) {
alert("Enter is pressed");
}
});
Run Code Online (Sandbox Code Playgroud)
这是一把小提琴
| 归档时间: |
|
| 查看次数: |
15801 次 |
| 最近记录: |