页面上的HTML有20个<input>字段,每个字段都以1到20的递增顺序命名和给出ID.
如果变量id设置为下一个顺序id(id+ 1),则此函数将使焦点应用于该字段.但是,当在当前输入字段外部单击时,如果输入的数字大于10,则最后一个输入字段将不会重新获得焦点,但会显示警报.
$(":input").focusout(function(){
var input = $(this).val();
var id = $(this).attr('id');
if(input > 10){
alert('You must enter a number between 0 and 10 '+id);
$("#"+id).select();
}
});
Run Code Online (Sandbox Code Playgroud)
如何设置最后一个输入字段以重新获得焦点?
我正在使用bootstrap 3中的modal,它包含在输入字段中
当加载页面时(不是通过单击按钮),使用jquery代码启动此模式
$().ready(function()
{
$('#OTPModal').modal('show');
});
Run Code Online (Sandbox Code Playgroud)
一旦显示模态,我就会通过此代码使输入成为焦点
$('#OTPModal').on('shown.bs.modal', function ()
{
$('#OTPField').focus();
});
Run Code Online (Sandbox Code Playgroud)
这段代码在谷歌浏览器中运行良好,但它不在Firefox中!
用chrome和firefox检查jsFiddle以查看不同的内容
https://jsfiddle.net/aq9Laaew/272015/
firefox版本:63.0.1(64位)
chrome版本:版本70.0.3538.77(官方版本)(64位)
javascript firefox google-chrome bootstrap-modal twitter-bootstrap-3
我有一个应用程序以编程方式将焦点设置在某些情况下的元素上。大多数情况下,一切都工作正常,但是当我将焦点设置在锚点上时,例如 $("#link1").focus(),我在 Firefox (v42.0) 中看不到焦点轮廓。焦点位于元素上,因为我可以切换到下一个元素并查看轮廓。然后,当我返回时,我可以正确地看到原始元素上的轮廓。它可以在 Chrome 和 IE 上正常运行。
如果在设置焦点后,我切换到 Firefox 中的另一个选项卡并返回,则会显示轮廓。
当我调用 focus() 时,元素似乎没有正确刷新。
HTML 和 JS/jQuery 非常简单:
<a href="#" id="link1">Link 1</a>
<a href="#" id="link2">Link 2</a>
$("#link1").click(function(evt){
evt.preventDefault();
$("#link2").focus();
});
Run Code Online (Sandbox Code Playgroud)
有人有主意吗?
http://jsfiddle.net/4xkh9y1o/1/
谢谢,
史蒂文
单击链接后,下面的代码会聚焦文本输入.它适用于Chrome 2.x,IE8和Opera 9.64,但不适用于Firefox 3.0.9.文本输入在Firefox中快速闪烁然后消失,我目前正在使用Windows XP SP2.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script>
$(document).ready(function()
{
$("a").click(function() {
var field_id = $(this).attr("href");
$(field_id).focus();
});
});
</script>
<a href="#text_field">Focus</a>
<input type="text" name="text_field" id="text_field" />
Run Code Online (Sandbox Code Playgroud)
有谁知道如何在Firefox中处理上述内容?