jQuery"焦点"在一个实例中工作但在其他实例中不工作

时间:2016-05-10 05:54:25

标签: javascript jquery

我刚才用jQuery方法focus编写了一些代码;它工作,然后它现在仍然有效。但是现在我尝试使用相同的方法在同一个应用程序中编写一些几乎相同的代码,并且它没有做任何事情。实际上,没有新编写的方法用法。即使是陌生人,它似乎也不适用于jsfiddle:

https://jsfiddle.net/3jmmL7ya/1/

<div id="click">CLICK ME</div><br>
<input id="focus" name="focus"></input>

<script type="text/javascript">
  $("#click").click(function() {
    $(':input[name="focus"]').focus();
  });

  $("#click").click(function() {
    $("#focus").focus();
  });
</script>

它可能是无关的,但我认为值得一提的是我最近在Rails方法respond_to do |format|上遇到了类似的问题。它在过去工作,我的旧代码仍然有效,但我写的新代码导致&#34;未知格式&#34;错误。更多详情here.

我使用的是jQuery 1.10.0和Rails 4.0.10。

我要么做一些非常愚蠢的事情,要么发生一些非常奇怪的事情。

更新

好的,我让它与

一起工作
  $("#click").click(function() {
    $("#focus").focus();
  });

但是当我在js控制台中键入$("#focus").focus();时,输入被选中,但没有任何反应。这是预期的行为吗?

1 个答案:

答案 0 :(得分:0)

这是因为您使用id选择器来连接事件。

根据定义,Ids应该是唯一的。当你使用id时,jQuery会自动选择它找到的第一个匹配元素。要解决这个问题,只需在元素上添加一个类,然后使用该选择器。