- Compatible XF 2.x versions
- 2.0
- License
- Creative Commons License
- Visible branding
- No
A simple but effective way to select all the content within a code bbcode in your forum.
Please note: this doesn't add a "select all" button like you're probably used to see, but it adds a simple functionality to your mouse (or your thumbs) so that each time you click (or tap) inside a code box, it'll automatically select all the text into it.
How to:
Download the attached file, and replace it with your existing bb_code_tag_code file in your template(s).
Alternatively, follow these steps to manually modify it:
Find
Replace it with:
And add the following javascript code at the very end of that file (so that you load it only when you effectively have a code bbcode in your page, to save bandwidth):
Known bugs:
If you have more than codeboxes in the same page, it'll always and only select the first one. Fixed on v1.1
If you find any bugs, let me know! So far it's working great on my side.
CHANGELOG
v1.1 - Javascript optimization and bug fixes
v1.0 - First release
If you like my contributions here and want to support me in order to continue my development on Xenforo, drop me a private conversation.
Please note: this doesn't add a "select all" button like you're probably used to see, but it adds a simple functionality to your mouse (or your thumbs) so that each time you click (or tap) inside a code box, it'll automatically select all the text into it.
How to:
Download the attached file, and replace it with your existing bb_code_tag_code file in your template(s).
Alternatively, follow these steps to manually modify it:
Find
<code>{$content}</code>
Replace it with:
<code onclick="getData(this)">{$content}</code>
And add the following javascript code at the very end of that file (so that you load it only when you effectively have a code bbcode in your page, to save bandwidth):
<script>
function getData(element)
{
if (document.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);
}
}
</script>
function getData(element)
{
if (document.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);
}
}
</script>
Known bugs:
If you find any bugs, let me know! So far it's working great on my side.
CHANGELOG
v1.1 - Javascript optimization and bug fixes
v1.0 - First release
If you like my contributions here and want to support me in order to continue my development on Xenforo, drop me a private conversation.