次のコードがあります。
function init() {
var $contentButtonPanel: JQuery = $('#content-button-panel')
$contentButtonPanel
.find('.arbo .toggle, .collapsible-list li:has(ul) > :first-child, .collapsible-list li:has(ul) > :first-child + span')
.click(function (event) {
$(this).toggleBranchOpen();
});
}
$.fn.toggleBranchOpen = function () {
this.each(function () {
$(this).closest('li').toggleClass('closed');
});
return this;
};
デバッグすると、 $(this).toggleBranchOpen(); ラインに達します。ただし、コードはその関数内には入りません。
これは、toggleBranchOpen の宣言方法に問題がありますか? toggleBranchOpen が使用されるのは、init 関数のクリック イベント内のみであることに注意してください。そのコードを init に移動して単純化することは可能ですか?