2つのalert()ボックスを表示するjqueryコードに続いて。どうして?Jquery resize()APIの混乱
私の質問は、resize()がトリガーした後にカスタムイベントを呼び出す(イベント名が "resize"で始まる)理由です。
jQueryのバージョン:1.12.4
2つのalert()ボックスを表示するjqueryコードに続いて。どうして?Jquery resize()APIの混乱
私の質問は、resize()がトリガーした後にカスタムイベントを呼び出す(イベント名が "resize"で始まる)理由です。
jQueryのバージョン:1.12.4
あなたのコード例は、2つのイベントをバインドresize
イベントにバインドされています
jQueryのイベントの宣言(resize.whatevername
)は、あなたが後でそれをアンバインドするために、名前空間を提供することができますリスナーはresize
です。最初のものはresize()
関数を使用し、2番目のものはbind()
を使用します。どちらも基本的に同じです。 3番目のオプションはon()
です。
唯一の違いは、2番目のリスナーにevent name
とnamespace
間のドット(.
)で区切らtest
と呼ばれるnamespace
を与えたということです。しかしこれはまだresize
のイベントリスナーであり、カスタムイベントではありません!
名前空間は、イベントリスナーを分離またはグループ化するのに役立ちます。たとえば、特定のリスナーを削除することができます。
$(window).on("resize", function() {
console.log("- resize");
});
$(window).on("resize.test", function() {
console.log("- resize.test");
});
// trigger resize
console.log("first trigger:");
$(window).trigger("resize");
// remove all listeners with '.test' namespace
$(window).off(".test"); // or more specific: $(window).off("resize.test");
// trigger resize again
console.log("second trigger:");
$(window).trigger("resize");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
resize
イベントがトリガされると、それはあなたがそれに結合したすべてのアクションの処理を開始します。
イベントに必要な数だけ機能をバインドできます。
$(window).unbind('resize.test')
しかし、まだ
これは**ありません**カスタムイベントです! – eisbehr