2013-08-17 3 views
0

Я использую отличный инструмент под названием «JS Spectrum». Я использую инструмент в нескольких местах, и эти множественные экземпляры заставляют мой код быть очень длинным. Очевидно, я мог бы просто создать класс и вызвать код спектра этого класса. Тем не менее, я не вижу, как я могу настроить целевой объект, чтобы сообщить мне, какой идентификатор называется функцией, чтобы я мог соответствующим образом настроить событие изменения.js spectrum несколько целей

Благодаря

+0

'событие target.id'? – bfavaretto

+0

Я не вижу, как передать полное событие на событие изменения в спектральном вызове. Другими словами, как я получаю это: $ ("# Colorpicker") спектр ({ изменение:.? Функция (событие) { event.target.id }, –

+1

насчет 'this' Что его значение в случае обработчика? BTW, спектр выглядит очень красиво! – bfavaretto

ответ

0

Значение this внутри обработчика события будет указывать на поле, где был изменен цвет:

<input type='text' id="custom1" class="picker" /> 
<input type='text' id="custom2" class="picker" /> 
function colorChanged(newColor) { 
    console.log('color at ' + this.id + ' changed to ' + newColor) 
} 

$(".picker").spectrum({ 
    color: "#f00", 
    change : colorChanged 
}); 

http://jsfiddle.net/e4FuH/1/