(jscolor) Как сохранить кнопку / ввод, созданный из DOM, пустым (только цвет) - PullRequest
0 голосов
/ 21 мая 2018

Я только что обнаружил библиотеку выбора цвета jscolor и пытаюсь использовать ее для создания неупорядоченных списков, которые можно редактировать, и с каждым элементом списка связана кнопка выбора цвета.Для этого требуется создать новую кнопку с Javascript через DOM, а не HTML-файл.Это делается с помощью абзаца кода следующим образом:

var newPlayerColor = document.getElementById('colorPicker').value;
    var input = document.createElement('INPUT');
    var newColorButton = new jscolor(input);
    alert(newColorButton.valueElement);
    input.style.backgroundColor = newPlayerColor;
    input.style.height = '20px';
    input.style.width = '20px';
    input.style.cursor = 'pointer';
    newDiv.appendChild(input);

Приведенный выше код работает нормально, но он оставляет кнопку с шестнадцатеричным значением цвета, отображаемым внутри как текст (именование переменных еще не является семантическим, так что любезноупускать из виду) Я хочу удалить этот текст, оставив только цвет (который все еще можно щелкнуть и использовать в качестве селектора цвета).Я не могу найти строгую документацию для библиотеки jscolor, но домашний веб-сайт (http://jscolor.com/examples/) содержит множество примеров.

Один из этих примеров обладает именно той функциональностью, которую я ищу

<button
    class="jscolor {valueElement:null,value:'66ccff'}"
    style="width:50px; height:20px;"></button>

Проблема в том, что это делается со страницы html, и мне неясно, как установить для valueElement значение null (что, кажется, делает свое дело). Простая вставка newColorButton.valueElement = null; не работает и не делает что-то вроде newColorButton.classList.add(' {valueElement:null,value:'66ccff'}').

Есть мысли?

1 Ответ

0 голосов
/ 21 мая 2018

Я никогда не использовал jscolor , но вы можете очистить текст вашей кнопки с помощью input.value = "";.Просто добавьте эту строку в 'абзац кода' перед добавлением ее в DOM.

...