2012-04-17 11 views
8

Próbuję wykonać funkcję autouzupełniania w szynach przy użyciu biblioteki jquery ui. jednak wciąż otrzymuję błędy składniowe „Błąd składni: zastrzeżone słowo«funkcja»na linii ...”szyny, błąd składni przy pisaniu skryptu kawowego

to jest mój plik lessons.js.coffee

jQuery -> 

$(function() { 
    function split(val) { 
     return val.split(/,\s*/); 
    } 
    function extractLast(term) { 
     return split(term).pop(); 
    } 

    $("#lesson_tag_name") 
     // don't navigate away from the field on tab when selecting an item 
     .bind("keydown", function(event) { 
      if (event.keyCode === $.ui.keyCode.TAB && 
        $(this).data("autocomplete").menu.active) { 
       event.preventDefault(); 
      } 
     }) 
     .autocomplete({ 
      source: $('#lesson_tag_name').data('autocomplete-source') 
      }, 
      search: function() { 
       // custom minLength 
       var term = extractLast(this.value); 
       if (term.length < 2) { 
        return false; 
       } 
      }, 
      focus: function() { 
       // prevent value inserted on focus 
       return false; 
      }, 
      select: function(event, ui) { 
       var terms = split(this.value); 
       // remove the current input 
       terms.pop(); 
       // add the selected item 
       terms.push(ui.item.value); 
       // add placeholder to get the comma-and-space at the end 
       terms.push(""); 
       this.value = terms.join(", "); 
       return false; 
      } 
     }); 
}); 

czytałem gdzieś w Internecie, że mogę zastąpić funkcja słowa z -> Zrobiłem to i przestałem otrzymywać błędy funkcji, ale potem dostaję inne błędy składniowe, takie jak "Błąd składniowy: słowo zastrzeżone" var "on line ..."

czy robię coś nie tak ?

+1

"Czytam w Internecie gdzieś, gdzie mogłem ...", może powinieneś nauczyć się trochę CoffeeScript przed użyciem lub przynajmniej przeprowadzić kilka samouczków. –

+0

zrobi. Naprawdę myślałem, że pomieszam js w plikach coffeescript – Sasha

Odpowiedz

16

Tylko pierwsza linia to coffeescript; reszta to normalny javascript.

Spróbuj użyć tego konwertera:

http://js2coffee.org/

$(function() {}); staje $ ->

+1

dziękuję, naprawdę myślałem, że mogę umieścić js w pliku coffeescript – Sasha

+0

Możesz dodać javascript wanilii w coffeescript, jeśli zawiniesz go w backticks ''. – DanS

3

Jeśli chcesz osadzić JavaScript w coffeescript pliku, można to zrobić za pomocą odwrócone, pojedyncze apostrofy:

jQuery -> 
    `function abc() { return 123; } // js syntax here` 

Zobacz tutaj: http://coffeescriptcookbook.com/chapters/syntax/embedding_javascript

Jest to dość mylące, więc ogólnie lepszym pomysłem jest przekonwertowanie kodu na coffeescript, w takim przypadku można użyć konwertera js2coffee.org, jak sugerował DanS.

Powiązane problemy