JQuery: как обрабатывать изменения текста диапазона

Я использую jQuery и хочу показать некоторые вычисления в промежутке (называемыйspan1) а я хочу когда текстspan1 изменено, сделать некоторые вычисления для его значения и показать в других диапазонах (называемых `span2, span3, ...). Как я могу справиться с изменением текста span?

Спасибо

 Alexander09 июн. 2012 г., 07:21
Вы должны справиться с этим везде, где вы меняете значение<span>.
 Anil Uttani25 янв. 2018 г., 06:52
Пожалуйста, отправьте ответ с наблюдателем мутации здесь:trigger-for-span-text-html-on-changed
 SpYk3HH09 июн. 2012 г., 07:13
& Quot;This event is limited to <input> elements, <textarea> boxes and <select> elements& Quot;
 Arian09 июн. 2012 г., 07:12
это не работает

Ответы на вопрос(2)

это событие вручную.

Прослушайте событие изменения диапазона.

$("#span1").on('change',function(){
     //Do calculation and change value of other span2,span3 here
     $("#span2").text('calculated value');
});

И где бы вы не изменили текст в span1. Запустите событие изменения вручную.

$("#span1").text('test').trigger('change'); 
 03 февр. 2017 г., 16:30
В то время я использовал IE 11. спасибо
 02 февр. 2017 г., 17:14
@SiddiqueMahsud: IE имеет много версий, которые ведут себя по-разному. Просто заявив, что IE означает в*all из них? И каково все определение тогда? Включая «край»?
 25 мар. 2016 г., 05:19
Вы пробовали это в IE? он работает в Chrome, но не работает в IE для меня.
Решение Вопроса

которая изменяет текст span1, чтобы изменить текст других.

Как обойти, если вы действительно хотите иметьchange событие, затем не назначайте текст для span 1. Вместо этого присвойте входную переменную в jQuery, запишите в нее событие change и, когда вы измените текст span1 .. вместо этого измените значение вашей входной переменной, запустив событие change , вот так:

var spanChange = $("<input />");
function someFuncToCalculateAndSetTextForSpan1() {
    //  do work
    spanChange.val($newText).change();
};

$(function() {
    spanChange.change(function(e) {
        var $val = $(this).val(),
            $newVal = some*calc-$val;
        $("#span1").text($val);
        $("#spanWhatever").text($newVal);
    });
});

Хотя я действительно чувствую, что этот «обходной путь», хотя и полезен в некоторых аспектах создания простого события изменения, очень растянут, и вам лучше будет вносить изменения в другие диапазоны одновременно с изменением span1.

Ваш ответ на вопрос