(function($) {
return $.extend($.fn, {
link: function(o) {
return $(this).find(":input").each(function() {
var el, name;
el = $(this);
name = el.attr("name");
o.bind("change:" + name, function() {
// do stuff
});
return $(this).bind("change", function() {
// do stuff
});
});
}
});
})(jQuery);
他の関数の中にたくさんの関数があります。私の主な質問(4は、このコードを理解することで理解しようとしていることです):
- $.fn を拡張してその値を返すとはどういう意味ですか?
- このコードはどのような順序で実行されますか? 各ループの最初の行として console.log を配置すると、実行されたことがわかりませんが、「//do stuff」セクションに配置すると表示されます。
- each ステートメント内で $(this).find(":input") の値を見ると、現在ループしている要素の値がわかりますか?
- ":input" を "p" に変更しようとしましたが、まだ入力要素の "//do stuff" ブロックに入っています。セレクターを変更して .filter または .not を追加しても、「//do stuff」ブロックに入ると、そうすべきではないと思うのに中断します。これは、すべてが実行される順序に基づいて予想されることですか?の?要素が特定のクラスを持っている場合にのみ「//処理」したい場合はどうなりますか?