2016-05-10 5 views
0

jQueryメソッドfocusで少し前にコードを書きました。それは今働いていて、それは今でも今働いています。しかし、今私は、同じアプリで、同じ方法で事実上同じコードを書くことを試みましたが、何もしませんでした。実際には、このメソッドの新しく書かれた使用法は機能しません。でも見知らぬ人、それはjsfiddleのいずれかで動作していないよう:jQuery "focus"はあるインスタンスでは動作しますが、他のインスタンスでは動作しません

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|と同様の問題があったことを言及する価値だと思います。これまではうまくいきましたが、私の古いコードはまだ動作しますが、新しいコードを書くと "Unknown Format"エラーが発生します。詳細here.

私はjQuery 1.10.0とRails 4.0.10を使用しています。

私は何かばかげたばかげたやり方をしているか、かなり奇妙なことが起こっています。

UPDATE

わかりました、私はそれが

$("#click").click(function() { 
    $("#focus").focus(); 
    }); 

で動作するようになった。しかし、私はJSコンソールに$("#focus").focus();に入力すると、入力が選択されていますが、何も起こりません。これは予想される動作ですか?

+1

作品はhttps://jsfiddle.net/f3qb8wcr/ – Satpal

+0

@Satpal私はとても混乱しています...あなたのフィドルが動作しますが、私は完全な同一コードを持つ別のものを作ってしまいます。このフィドルはあなたのために働くのですか? https://jsfiddle.net/3jmmL7ya/15/ –

+0

jQueryライブラリを追加すると動作します。あなたはあなたのフィドルにライブラリを追加していません。 – Satpal

答えて

0

これは、イベントを接続するためにIDセレクタを使用しているためです。

Idは定義上一意であると考えられます。 idを使用すると、jQueryは自動的に一致する要素を選択します。これを解決するには、要素にクラスを追加し、そのセレクタを代わりに使用します。

+0

私はIDが一意であることを確認しました。私はクラスを追加してそれらの名前を使用しようとしましたが、それでも何も起こりません。 –

+0

あなたのjsFiddleが動作しない理由は、jQueryが含まれていないということです。 – Albin

+0

jsFiddleの問題は解決してうれしいですが、私のアプリの問題は残っています。 –

関連する問題