1

<img>ブートストラップモーダルビューの内部を表示しようとしています。<img>現在、特定のクラス名を持つすべてのタグを自動的に操作するサードパーティのjqueryライブラリを含めています。

html

{{afterBody}}これにより、本文の最後にjsスクリプトが読み込まれます。<#myModal>モーダルダイアログは非表示になっています。

if (Meteor.isClient) {

        if ( typeof Handlebars !== 'undefined') {
            Handlebars.registerHelper('afterBody', function(name, options) {
                $('body').append('<script src="zzz.js" type="text/javascript"></script>');

            });
        }
    Meteor.startup(function() {
        $('#myModal').on('shown', function() { 
            alert('shown event fired');
            $('.modal-body').append('<imgsrc="http://www.y.com/images/example.jpg" class="markIt">');

    });
}

問題は、zzz.jsがmeteorによって提供されるjquery.jsパッケージとうまく連携していないように見えることです。jqueryパッケージを削除しましたが、まだどこかからjquery.jsを使用しています。パブリックフォルダに何もありません。

Uncaught TypeError: Object undefined [undefined undefined -1] has no method 'on'

これは、zzz.jsをどこかに含めた場合にのみ発生します。ヘッドを試し、ボディの後にロードしましたが、jquerymeteorパッケージで動作したくないようです。jqueryのバージョンをzzz.jsで機能するバージョンに置き換えるにはどうすればよいですか?これが問題だと確信しています。

4

1 に答える 1

2

私の知る限り、jQuery プラグインを追加するために必要なことは、jquery スマート パッケージを追加してから、プラグイン (zzz.js) をクライアント ディレクトリに配置することだけです (クライアントでのみ実行する場合)。script タグを追加する必要なく使用できます。

于 2013-03-22T23:53:12.260 に答える