2012-04-17 23 views
8

Tôi đang cố gắng thực hiện tính năng tự động hoàn tất trong đường ray bằng cách sử dụng thư viện jquery ui. Tuy nhiên tôi tiếp tục nhận được lỗi cú pháp "Cú pháp Lỗi: word reserved 'chức năng' trên dòng ..."đường ray, nhận lỗi cú pháp với tập lệnh cà phê

đây là tập tin lessons.js.coffee tôi

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; 
      } 
     }); 
}); 

tôi đọc trực tuyến ở đâu đó mà tôi có thể thay thế chức năng từ với -> tôi đã làm điều đó và tôi đã ngừng nhận các lỗi chức năng, nhưng sau đó tôi nhận được các lỗi cú pháp khác như "Lỗi cú pháp: từ dành riêng" var "trên dòng ..."

Tôi đang làm điều gì sai ?

+1

"tôi đọc trực tuyến ở đâu đó mà tôi có thể ...", có lẽ bạn nên tìm hiểu một chút về CoffeeScript trước khi sử dụng hoặc ít nhất là chạy qua một vài hướng dẫn. –

+0

sẽ thực hiện. Tôi thực sự nghĩ rằng tôi trộn js trong các tập tin coffeescript – Sasha

Trả lời

16

Chỉ dòng đầu tiên là coffeescript; phần còn lại là javascript bình thường.

Hãy thử sử dụng chuyển đổi này:

http://js2coffee.org/

$(function() {}); trở thành $ ->

+1

cảm ơn bạn, tôi thực sự nghĩ rằng tôi có thể đặt js trong tập tin coffeescript – Sasha

+0

Bạn có thể bao gồm vani javascript trong coffeescript, nếu bạn quấn nó trong backticks ''. – DanS

3

Nếu bạn muốn nhúng javascript trong một file coffeescript, bạn có thể làm như vậy bằng backticks:

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

Xem tại đây: http://coffeescriptcookbook.com/chapters/syntax/embedding_javascript

Điều này là khá khó hiểu, vì vậy nó thường là một ý tưởng tốt hơn để chuyển đổi mã để coffeescript, trong trường hợp này bạn có thể sử dụng js2coffee.org chuyển đổi như DanS đề xuất.

Các vấn đề liên quan