3

一連のテキストボックスを使用して、JavaScriptファイル内のデータを定義しようとしています。したがって、テキストボックスにチーム名「チーム名」を入力すると、javascriptファイルはこのテキストボックスを使用して、トーナメントブラケットのセットを印刷するためにチームの名前を格納します。

javascriptファイルは私の中に含まれている<head> ので、テキストボックスに実際にデータを入力する前にロードされます。私は次のようなhtmlのボタンのこのコードを持っています:

script(type='text/javascript')
    $('#buttontest').click(function() {
        $('div.bracket').show();
        $('div.teamList').hide();
    });

したがって、ボタンを押すと、テキストボックスはすべて非表示になり、ユーザー定義のチーム名が付いた角かっこが表示されます。これが、JavaScriptファイルの最後にあるコードです。

$(function() {
    $('#singleElim8').bracket({
        init: singleElim8Data
    })
  $('.bracket').hide();
});

したがって、div.bracket内には、javascriptが使用するクラス#singleElim8があります。しかし、ボタンがクリックされたときにのみブラケットを初期化するこのjavascriptが実行されるようにするには、どうすればよいでしょうか。そうすれば、テキストボックスが入力された後に角かっこがレンダリングされます。助けていただければ幸いです。

4

2 に答える 2

10

jQueryのメソッドを使うだけgetScript

とても使いやすいです

$( '#buttontest' ).on( 'click', function() {
    $.getScript( 'url to your js file', function( data, textStatus, jqxhr ) {
        // do some stuff after script is loaded
    } );
} );
于 2012-12-21T16:58:56.910 に答える
3

関数をパラメーターとして jQuery に渡すと、document.ready() 中にその関数が実行されます。これにより、ページはスクリプトを実行する前にすべてのスクリプトをロードできます。

$(function() {
    $('#buttontest').click(function() {
        $('div.bracket').show();
        $('div.teamList').hide();
    });

    $('#singleElim8').bracket({
        init: singleElim8Data
    })
  $('.bracket').hide();
});
于 2012-12-21T16:34:29.023 に答える