首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery -当另一个输入字段被聚焦时更改段落

jQuery -当另一个输入字段被聚焦时更改段落
EN

Stack Overflow用户
提问于 2016-09-28 21:30:31
回答 1查看 28关注 0票数 0

我是web开发的新手,在使用jQuery时遇到了问题。我在谷歌上找不到任何东西。这就是我的问题:

我想要更改一个段落,如果另一个输入域被聚焦,它必须更改。

下面是一个代码片段:

代码语言:javascript
运行
复制
$(document).ready(function() {
  function() {
    if ($('#input1').focus()) {
     $('#paragraph').html("You picked input1!");
    }

    else if ($('#input1').focus()) {
     $('#paragraph').html("You picked input2!");
    }

    else {
     $('#paragraph').html("You picked a different input!");
    }
  }
});

代码只运行一次,段落显示"You picked input1!“--但我希望每次我聚焦另一个输入字段时都触发该事件。我的错误是什么?

在期待中感谢你!

EN

Stack Overflow用户

发布于 2016-09-28 21:35:07

您应该绑定到输入的焦点事件。此外,正如其中一条注释所述,您在两个条件句中都使用了"#input1"

代码语言:javascript
运行
复制
$(document).ready(function() {
    // Assumption is that all #input{number} are input elements
    $("body").on("focus", "input", funcion() {
        var $this = $(this);
        $("#paragraph").text("You focused " + $this.attr("id"));
    });
});

使用$("body").on("focus", "input", function() {})的好处是,如果在body标记中创建了任何新的输入标记,事件仍然会影响它们。

我还想提一下,调用$.focus()会触发focus事件,而不是实际检查标记是否被聚焦。为此,您应该使用$.is(":focus"),因此在您的代码中应该是$("#input1").is(":focus")

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39749021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档