10

私のチャンスはこれでわずかですが、Google経由でいくつかの解決策を試しましたが、「Uncaught TypeError:Cannot call method'apply' of undefined'、anonymous function:」を修正するものは何もないようです。

ここに画像の説明を入力してください

他のJSがなくても単独で動作しますが、他のスクリプトと同じページで組み合わせるとエラーが発生します。

それが参照するコード行は次のとおりで、32行目が原因です。32行目はこの行です- if ( resizeTimeout ) { clearTimeout( resizeTimeout ); }

var $event = $.event, resizeTimeout;

    $event.special.smartresize  = {
        setup: function() {
            $(this).bind( "resize", $event.special.smartresize.handler );
        },
        teardown: function() {
            $(this).unbind( "resize", $event.special.smartresize.handler );
        },
        handler: function( event, execAsap ) {
            // Save the context
            var context = this,
                args    = arguments;

            // set correct event type
            event.type = "smartresize";

            if ( resizeTimeout ) { clearTimeout( resizeTimeout ); }
            resizeTimeout = setTimeout(function() {
                jQuery.event.handle.apply( context, args );
            }, execAsap === "execAsap"? 0 : 100 );
        }
    };
4

5 に答える 5

10

コードを見てこれを理解することができました。「simulate」と呼ばれるメソッドがあります。これを使用して、「ドナーイベントにピギーバックして別のイベントをシミュレートする」、「偽のoriginalEventを使用して、ドナーのstopPropagationを回避することができます。シミュレートされたイベントはデフォルトを防ぎ、ドナーに対しても同じことを行います。」これは、「ブランドンアーロンのチュートリアルでイベントタイプを設定する」という目的として私を驚かせました。

それ以外の:

event.type = "myType";
jQuery.event.handle.apply(this, arguments);

使用する:

jQuery.event.simulate('myType', this, event);
于 2013-04-25T14:01:28.563 に答える
5

新しいバージョンのjQueryをロードしていると推測します。まるでjQuery 1.9後でプロパティを持っていないように見えjQuery.event.handleます。

私の知る限り、これはサポートされているプロパティではありませんでした。

http://jsfiddle.net/xPJN4/

于 2013-03-14T16:46:02.080 に答える
0

誤って最新バージョンのjqueryをヘッドにロードし、その後に古いバージョンをロードしたときに、このエラーが発生jqueryしました。古いバージョンには、新しいバージョンから必要なメソッドがありませんでした。

于 2014-05-09T22:38:15.967 に答える
0

古いバージョンのjQueryとmasonry.min.jsを使用すると、このエラーが発生しました-縮小されていないコードはもうありません!

交換:

b.event.handle.apply(d,f)

b.event.simulate('smartresize', d, f)

問題を分類し、スクリプトは正常に機能しています。修正については@ karl-forshawの功績によるものです...リプレイでコメントしますが、そうするという評判がありません。

于 2017-01-23T15:17:02.200 に答える
0

jQueryMigrateにリンクしたときのエラーが修正されました。

JQMIGRATE:Migrateがインストールされています、バージョン1.4.1

これ以上のエラーはありません。私にとって、isotope.jsがこの問題を引き起こしていました。それがランダムな人に役立つことを願っています。:)

于 2018-09-20T01:19:05.430 に答える