События прототипа: использовать входное значение с момента создания события - PullRequest
4 голосов
/ 18 января 2011

Я недавно прочитал, как это сделать, но я не могу найти его снова!

По сути, я создаю некоторые события, которые прослушивают входные данные формы и обновляют их значения при срабатывании. Как передать начальное входное значение (значение входа при создании события) событию, чтобы я мог сравнить его с текущим значением?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 18 января 2011

Просто сохраните его в переменной за пределами закрытия обработки события, например:

var original = $('someinput').getValue();
$('someinput').observe('whatever_event', function(ev) {
    $('someinput').getValue(); // contains current value
    original; // contains original value
});

ОБНОВЛЕНИЕ: Заменен вышеуказанный код на Прототип.jQuery версия ниже для справки.

var original = $('#someinput').val();
$('#someinput').whatever_event(function(ev) {
    this.val(); // contains current value
    original; // contains original value
});
0 голосов
/ 18 января 2011

DOM уже сохраняет это значение для вас (для input типов, а не select).

element.observe('click', function(){
    // In this context, this == element
    if (this.defaultValue != this.value) {
        // value is different
    }
}
...