Я использую спектр (https://github.com/bgrins/spectrum), плагин jQuery для цвета поддоны. Моя цель состоит в том, чтобы цвет применялся непосредственно к фону, пока пользователь просматривает разные цвета.
Что у меня есть до сих пор это:
//*****Part of a 3rd party file, which I cannot modify****
$("#picker1").spectrum({
allowEmpty:true,
color: "#ECC",
showInput: true,
preferredFormat: "hex",
});
//***********************************
$("#picker1").on("change keyup paste", function(){
newcolor=$("#picker1").val();
$(".menu-itempreview").css("background-color", newcolor);
});
<ul id="menu-primary-menupreview" class="someclass">
<li class="menu-itempreview">Home</li>
<li class="menu-itempreview">Sample Page</li>
<li class="menu-itempreview">Uncategorized</li>
</ul>
<input type='input' id="picker1" />
Поиграйте со мной здесь: http://jsfiddle.net/h4Lc5b6a/
Проблема в том, что цвет обновляется только тогда, когда пользователь нажимает кнопку отправки. Как мне сделать так, чтобы фон обновлялся на лету, пока пользователь просматривает разные цвета?
Кажется, проблема связана с onchange, который не срабатывает, когда поле ввода изменяется с помощью javascript.