A Thread
не является нитью . Нить - это исполнение вашего кода. Thread
- это объект, который ваша программа использует для создания и управления жизненным циклом потока .
Предположим, вам нравится играть в теннис. Предположим, вы и ваш друг играете в действительно потрясающий набор. Как бы ваш друг отреагировал, если бы вы сказали: «Это было невероятно, давайте снова сыграем». Ваш друг может подумать, что вы с ума сошли. Не имеет смысла даже говорить о том, чтобы снова играть в один и тот же набор. Если вы снова играете, вы играете в другой набор.
Нить - это исполнение вашего кода. Не имеет смысла даже говорить о «повторном использовании» потока исполнения по той же причине, что бессмысленно говорить о повторном воспроизведении того же набора в теннисе. Даже если другое выполнение вашего кода выполняет все те же операторы в том же порядке, это все еще исполнение .
Анджей Дойл спросил: «Почему вы хотите для повторного использования Thread
? " Почему? Если объект Thread
представляет поток выполнения --- эфемерная вещь, о которой вы даже не можете говорить о повторном использовании, то зачем вам или ожидать объект Thread
для повторного использования?
Я не слишком хорошо знаком с Redactor, но, возможно, вы могли бы сделать это с помощью обратного вызова или чистого JavaScript после загрузки элемента.
<style>
.my-custom-class-1 {
background-color: red;
}
.my-custom-class-2 {
font-size: 16px;
}
.my-custom-class-3 {
font-family: Helvetica Neue, Helvetica, Arial;
}
</style>
Не знаете, что возвращается из ссылки, но если оно элемент html вы можете добавить классы с обратным вызовом.
$R('#content', {
callbacks: {
link: {
inserted: function(link) {
// use the classList API to remove and add classes
link.classList.remove("my-custom-class-1");
link.classList.add("my-custom-class-1");
// add or remove multiple classes
link.classList.add("my-custom-class-1", "my-custom-class-2", "my-custom-class-3");
link.classList.remove("my-custom-class-1", "my-custom-class-2", "my-custom-class-3");
}
}
}
});
Если ссылки имеют собственный идентификатор, вы можете сделать это в чистом JavaScript
const link_1 = document.getElementById('linkId_1');
const link_2 = document.getElementById('linkId_2');
const link_3 = document.getElementById('linkId_3');
// use the classList API to remove and add classes
link_1.classList.remove("my-custom-class-1");
link_1.classList.add("my-custom-class-1");
// add or remove multiple classes
link_1.classList.add("my-custom-class-1", "my-custom-class-2", "my-custom-class-3");
link_1.classList.remove("my-custom-class-1", "my-custom-class-2", "my-custom-class-3");
Надеюсь, это поможет! :)
Вы можете использовать formattingAdd
, чтобы создать собственный набор параметров форматирования для выпадающего списка форматирования. Это позволит вам добавить свои собственные классы CSS.
formattingAdd: {
"red-p-add": {
title: 'Red Paragraph',
api: 'module.block.format',
args: {
'tag': 'p',
'class': 'red-styled'
}
}
}
К сожалению, согласно Официальная документация :
blockquote>
formattingAdd
можетДругими словами, поскольку
<a>
является встроенным элементом (а не блочным элементом), он может быть использован для блокировки тегов (p, pre, blockquote, div, heading и т. д.). если вы пытаетесь создать опцию, используя встроенную функциональность Redactor, тогда вам кажется, что вам не повезло.