MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
(Adding Select All button to scripts) |
SIMU-COREY (talk | contribs) No edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
// Select all text inside of the element(s) calling this. |
|||
jQuery.fn.selectText = function(){ |
jQuery.fn.selectText = function(){ |
||
var doc = document; |
var doc = document; |
||
Line 16: | Line 17: | ||
}; |
}; |
||
// Add a Select All link before any pre tags on (script) pages or pre tags with a select class. |
|||
$(function () { |
$(function () { |
||
$("pre |
$("pre").each(function() { |
||
var pre = this; |
var pre = this; |
||
var wgTitle = mw.config.get('wgTitle'); |
|||
⚫ | |||
if ($(pre).hasClass("select") || wgTitle.includes("(script)")) |
|||
⚫ | |||
{ |
|||
⚫ | |||
⚫ | |||
$(pre).selectText(); |
|||
event.preventDefault(); |
|||
⚫ | |||
link.insertBefore(this);} |
|||
⚫ | |||
); |
); |
||
}); |
}); |
Latest revision as of 11:10, 2 January 2024
// Select all text inside of the element(s) calling this.
jQuery.fn.selectText = function(){
var doc = document;
var element = this[0];
//console.log(this, element);
if (doc.body.createTextRange) {
var range = document.body.createTextRange();
range.moveToElementText(element);
range.select();
} else if (window.getSelection) {
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(element);
selection.removeAllRanges();
selection.addRange(range);
}
};
// Add a Select All link before any pre tags on (script) pages or pre tags with a select class.
$(function () {
$("pre").each(function() {
var pre = this;
var wgTitle = mw.config.get('wgTitle');
if ($(pre).hasClass("select") || wgTitle.includes("(script)"))
{
var link = $("<a href='#'>(Select All)</a>").on("click", function(event) {
$(pre).selectText();
event.preventDefault();
});
link.insertBefore(this);}
}
);
});