0

私は、ルート計画のために FancyBox を Google マップと組み合わせて使用​​しています。ユーザーは郵便番号を入力し、ラジオ ボタンでホテルを選択します。

<input type="text" name="post_code" value="" id="post_code" class="post_code"  />

...

<input type="radio" name="venue_id" class="button_1_0" id="radio_1_0" value="166" onClick="if (conditi&hellip;) { ... }" data-postcode="CV7 9HZ" /><div><h5>ANSTY HALL, COVENTRY</h5></div>

...

<div id="map_routes_button">
    <a class="fancybox button-link" id="button" href="http://local/bookings/maps/routes/3" title="Plan your journey"><img src="http://local/library/images/ui/journey-planner.gif" alt="Journey Planner" width="290" height="70" border="0" style="border: 0px;" /></a>
</div>

...

<script type="text/javascript">
    $(".fancybox").on("click", function(ev) {
    ev.preventDefault();
    $.ajax({
        type: "POST",
        cache: false,
        url: this.href,
        data: 's=' + s + '&e=' + e,
        success: function (data) {
            $.fancybox(data, {
                'padding': 0
            });
            initialize();
        }
    });
</script>

ユーザーが別のホテルを選択するまで、すべて正常に機能します。その時点で、FancyBox jQuery は $.fancybox(data, {...

キャッチされていない TypeError: オブジェクト関数 (e,t){return new x.fn.init(e,t,r)} にはメソッド 'fancybox' がありません 3:3363 $.ajax.success 3:3363 x.Callbacks.c jquery. js:3074 x.Callbacks.p.fireWith jquery.js:3186 k jquery.js:8253 x.ajaxTransport.send.r

Google マップは正常に動作しており、ここで使用しているコードは、FancyBox への接続はありませんが、アプリケーションの別の場所で使用されています。

また、郵便番号変数は、1 回目、2 回目、およびその後の任意の回数の試行で値を渡します。

このページには、jQuery と FancyBox の両方のインスタンスが 1 つしかないため、このタイプのエラーの最も一般的な説明を省略できます。

Google マップはこれとは何の関係もないと思います。変数データを FancyBox 自体に渡すことと関係があると思いますが、私の貧弱な jQuery の知識はこの時点で突然停止します。

4

1 に答える 1

0

再初期化する前に、fancybox を破棄してみてください。私は数回前に同様の問題を抱えていましたが、それは私の問題を解決しました。試してみる:

$(document).unbind('click.fb-start');
于 2013-07-16T08:53:57.650 に答える