2016-05-10 17 views
0

我之前用jQuery方法focus編寫了一些代碼;它工作,然後它現在仍然有效。但是現在我試着用相同的方法在同一個應用程序中編寫幾乎完全相同的代碼,並且它沒有做任何事情。事實上,該方法沒有新編寫的用法。更奇怪的是,它似乎並沒有對的jsfiddle工作,要麼:jQuery「焦點」在一個實例中起作用,但在其他情況下不起作用

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|類似的問題。它工作在過去,我的舊代碼仍然有效,但我寫的新代碼導致「未知格式」錯誤。更多詳細信息here.

我正在使用jQuery 1.10.0和Rails 4.0.10。

我要麼做荒唐愚蠢的事情,要麼發生了一件非常奇怪的事情。

UPDATE

好吧,我得到它與

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

工作,但是當我在$("#focus").focus();在JS控制檯輸入,選擇輸入,但沒有任何反應。這是預期的行爲?

+1

它的工作https://jsfiddle.net/f3qb8wcr/ – Satpal

+0

@Satpal我很困惑...你的小提琴的作品,但我做了另一個與相同的代碼,並沒有一個。這個小提琴是否適合你? https://jsfiddle.net/3jmmL7ya/15/ –

+0

添加jQuery庫,它會工作,你沒有添加庫在你的小提琴 – Satpal

回答

0

這是因爲您正在使用ID選擇器來連接事件。

根據定義,Ids應該是唯一的。當你使用一個id時,jQuery將自動選擇它找到的第一個匹配元素。爲了解決這個問題,只需在元素上添加一個類,然後使用該選擇器。

+0

我確定這個ID是唯一的。我也嘗試添加類並使用這些名稱,但是也沒有任何反應。 –

+0

那麼你的jsFiddle不工作的原因是它沒有包含jQuery。 – Albin

+0

我很高興jsFiddle問題解決了,但我的應用程序仍然存在問題。 –

相關問題