当前位置: 首页 > 面试题库 >

一旦出现,如何为Bootstrap模式中的特定字段设置焦点

严兴旺
2023-03-14
问题内容

我已经看到了有关引导程序模式的几个问题,但没有一个完全像这样,所以我继续。

我有一个模态,我这样称呼onclick …

$(".modal-link").click(function(event){
  $("#modal-content").modal('show');
});

效果很好,但是当我显示模态时,我想关注第一个输入元素……在某些情况下,第一个输入元素的ID为#photo_name。

所以我尝试了

   $(".modal-link").click(function(event){
     $("#modal-content").modal('show');
     $("input#photo_name").focus();
   });

但这无济于事。最后,我尝试绑定到“
show”事件,但是即使如此,输入也不会集中。最后,仅出于测试目的,因为我怀疑这与js加载顺序有关,因此我设置了setTimeout只是为了查看是否延迟一秒钟,焦点会起作用,是的,它起作用了!但是这种方法显然是胡扯。有什么方法可以在不使用setTimeout的情况下达到与以下相同的效果?

  $("#modal-content").on('show', function(event){
    window.setTimeout(function(){
      $(event.currentTarget).find('input#photo_name').first().focus()
    }, 0500);
  });

问题答案:

尝试这个

这是旧的 DEMO

$(document).ready(function() {
    $('#modal-content').modal('show');
    $('#modal-content').on('shown', function() {
        $("#txtname").focus();
    })
});

启动引导程序3需要使用shown.bs.modal事件:

$('#modal-content').on('shown.bs.modal', function() {
    $("#txtname").focus();
})


 类似资料:
  • 如何设置组件的焦点? 我已经尝试了上述代码,但不起作用:(

  • 问题内容: 我有一个用netbeans开发的应用程序,我想在显示面板时将焦点设置为一定。我已经阅读了许多文章,并尝试了各种方法,但没有奏效。主要问题之一是在哪里放置所需的代码,我认为在我的情况下是 有一些指示使用Window Listener的帖子,但是随着netbeans生成GUI,我无法看到如何实现接口,因为我无法编辑创建jPANEL等的代码。整个过程非常令人沮丧,我真的没有相信这应该很困难。

  • 我有一个textarea在一个角ui模式,需要设置焦点时,模式是可见的,不能在文档加载,因为它只工作在第一次打开模式。 更多信息:在某种程度上解决了始终保持对textarea的关注的问题。 但是由于我的模式在动画中有一个淡入淡出,在IE中焦点显示在文本框上方,在外部,我不得不使用timeout到IE来正确设置焦点。那可不太好。更好的办法?

  • 我在一个单词段落中找到了一个起始字符和结束字符,但就我而言,我无法确定如何设置包含这些字符的范围。以下是我所拥有的内容的摘录: 使用起始字符和结束字符的值,如何设置包含该字符串的范围?我做了很多尝试,但都没有成功。 Microsoft“使用范围”页面上的说明包含以下代码: 我在样本的第一行(“设置rngTemp…”)中没有收到任何错误,这似乎与微软的样本非常相似。但当我尝试时: 我得到"编译错误:

  • 问题内容: 呈现组件后,将焦点设置在特定文本字段上的反应是什么? 文档似乎建议使用引用,例如: 在渲染函数中的输入字段上进行设置,然后调用: 但是我应该在哪里称呼它?我已经尝试了几个地方,但无法正常工作。 问题答案: 您应该这样做,而不是。像这样

  • 问题内容: 我想将焦点放在作为对象消息传递给JOptionPane的特定JTextField上。这是我的代码(我希望焦点在txt2上,但焦点始终在txt1上): 问题答案: 一旦覆盖,您可以让组件请求焦点。像这样: 这是程序的完整功能/经过测试的版本: