8

jquery ui ライブラリを使用して、Rails でオートコンプリート機能を実行しようとしています。ただし、「構文エラー:予約語「関数」行...」という構文エラーが発生し続けます

これは私のless.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;
            }
        });
});

関数という単語を置き換えることができるオンラインのどこかで読んだ->それを行ったところ、関数エラーの受信を停止しましたが、「構文エラー:行上の予約語「var」...」などの他の構文エラーが発生します...

私は何か間違ったことをしていますか?

4

2 に答える 2

16

最初の行だけが coffeescript です。残りは通常の JavaScript です。

このコンバーターを使用してみてください:

http://js2coffee.org/

$(function() {});になる$ ->

于 2012-04-17T09:15:00.893 に答える
3

javascript を coffeescript ファイルに埋め込みたい場合は、バッククォートを使用して行うことができます。

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

ここを参照してください: http://coffeescriptcookbook.com/chapters/syntax/embedding_javascript

ただし、これはかなり紛らわしいので、通常はコードを coffeescript に変換することをお勧めします。この場合、DanS が提案したようにjs2coffee.orgコンバーターを使用できます。

于 2013-02-24T18:54:14.160 に答える