2014-02-18 1 views
1

Я хотел бы добавить класс к диапазону цен при изменении значения $. Лучшая визуальная подсказка для клиентов при добавлении продуктов.Добавить класс к элементу при изменении цены. JQuery DOMCharacterDataModified

Пробовал:

$(document).ready(function() { 
    $('.cart-price').bind('DOMCharacterDataModified', function() { 
     $('.cart-price').addClass('change'); 

    var delay = setTimeout(function(){ 
     $('.cart-price').removeClass('change'); 
    }, 1100) 
    }); 
}); 

CSS:

.cart-price.change 
{ 
    color:#F00; 
} 
+0

попробовать http://jsfiddle.net/arunpjohny/9w2gZ/1/ –

+0

Вы можете использовать 'bind' на не -jQuery события? – reergymerej

+0

Аналогичный вопрос [здесь] (http://stackoverflow.com/questions/2870059/how-to-determine-when-the-text-of-an-html-element-is-changed) – reergymerej

ответ

2

Похоже, это будет лучше использовать mutation observers, потому что mutation events являются устаревшими. Но знать о browser compatibility - IE < 11 не поддерживает это

$(document).ready(function() { 
    var $cartprice = $('.cart-price'); 

    if ('MutationObserver' in window) { 
     var observer = new MutationObserver(highlight); 
     observer.observe($cartprice[0], { 
      childList: true 
     }); 
    } else { 
     //for browsers which does not support MutationObserver 
     $cartprice.on('DOMSubtreeModified', highlight) 
    } 

    function highlight() { 
     $cartprice.addClass('change'); 

     var delay = setTimeout(function() { 
      $cartprice.removeClass('change'); 
     }, 1100) 
    } 
}); 

Демо: Fiddle

+0

Спасибо Аруну за ваши усилия –

+0

@KerrySmyth приветствуется –

Смежные вопросы