1

jQueryとcoffeescriptを使用して、ユーザーがEnterキーを押したときにhtml要素を更新したいと思います。私のコードは次のようになります:

$ ->
  $('p span').live 'keypress', (e) ->      
    if e.keyCode == 13        
      $('div.sidebar-nav ul li a.active').html $(this).attr 'value'

Coffeescriptはエラーなしでコンパイルされますが、コードは機能していません。何らかの理由で、コードを次のように追加すると、次のように機能します。

$ ->
  $('p span').live 'keypress', (e) ->      
    if e.keyCode == 13
      alert 'some string'
      $('.sidebar-nav a.active').html $(this).attr 'value'

私はこれを解決するために最後の数時間を費やしましたが、それでも何もしません。どんな助けでも深くいただければ幸いです。

4

1 に答える 1

3
$('.sidebar-nav a.active')

とは異なります...

$('div.sidebar-nav ul li a.active')

最初のケースでa.activeは、はの子孫であり.sidebar-nav、その下の構造.sidebar-navは何でもかまいません(リスト、記事、スパン、マーキー、どこかにある限り、関係ありません)。第二に、それはリストの中の曽孫です。確実にHTMLを確認する必要がありますが、セレクターが正しくないようです...

于 2012-06-02T22:05:28.770 に答える