Вопрос по javascript, jquery, javascript-events – JQuery: как обрабатывать изменения текста диапазона
Я использую jQuery и хочу показать некоторые вычисления в промежутке (называемыйspan1
) а я хочу когда текстspan1
изменено, сделать некоторые вычисления для его значения и показать в других диапазонах (называемых `span2, span3, ...). Как я могу справиться с изменением текста span?
Спасибо
<span>
.
Alexander
This event is limited to <input> elements, <textarea> boxes and <select> elements
& Quot;
SpYk3HH
которая изменяет текст 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.
это событие вручную.
Прослушайте событие изменения диапазона.
$("#span1").on('change',function(){
//Do calculation and change value of other span2,span3 here
$("#span2").text('calculated value');
});
И где бы вы не изменили текст в span1. Запустите событие изменения вручную.
$("#span1").text('test').trigger('change');