User:SunAfterRain/js/TalkendFrameToggle.js
< User:SunAfterRain | js
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
/**
* 讓 Template:TalkendH 可以如同以前使用 NavFrame 時一樣可以點擊藍條來展開
* @author SunAfterRain
*/
$( () => {
const DATA_KEY = 'TalkendFrameToggle.data';
function initTalkendFrameToggle( element ) {
const $element = $( element );
if ( !$element.hasClass( 'talkend' ) || !!$element.data( DATA_KEY ) || ( $element.attr( 'id' ) || '' ).startsWith( 'mw-customcollapsible-' ) ) {
return;
}
const $head = $element.children( '.talkend-title' );
const $toggle = $element.children( '.mw-collapsible-toggle' );
$head
.css( 'cursor', 'pointer' )
.on( 'click', () => {
$toggle.click();
} );
$element.data( DATA_KEY, {
$head,
$toggle
} );
}
function initTalkendFrameToggleWrapper( $frame ) {
for ( const frame of $frame.get() ) {
initTalkendFrameToggle( frame );
}
}
if ( typeof $.fn.makeCollapsible === 'function' ) {
initTalkendFrameToggleWrapper( $( '.talkend.mw-made-collapsible' ) );
}
mw.hook( 'wikipage.collapsibleContent' ).add( initTalkendFrameToggleWrapper );
} );