Javascript 如何处理span的更改文本

Javascript 如何处理span的更改文本,javascript,jquery,Javascript,Jquery,我正在使用jQuery,我想在一个跨度(称为span1)中显示一些计算,我想在span1的文本更改时对其值进行一些计算,并在其他跨度(称为'span2,span3,…)中显示。如何处理span的文本更改?您可以使用更改span 1文本的功能来更改其他文本 作为一种解决方法,如果您确实希望它有一个更改事件,那么不要将文本添加到span 1。相反,在jQuery中指定一个输入变量,在其中写入一个更改事件,并在您更改span1的文本时。。而是更改输入变量的值,从而触发更改事件,如下所示: var sp

我正在使用jQuery,我想在一个跨度(称为
span1
)中显示一些计算,我想在
span1
的文本更改时对其值进行一些计算,并在其他跨度(称为'span2,span3,…)中显示。如何处理span的文本更改?

您可以使用更改span 1文本的功能来更改其他文本

作为一种解决方法,如果您确实希望它有一个
更改
事件,那么不要将文本添加到span 1。相反,在jQuery中指定一个输入变量,在其中写入一个更改事件,并在您更改span1的文本时。。而是更改输入变量的值,从而触发更改事件,如下所示:

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);
    });
});
var spanChange=$(“”);
函数someFunctionCalculate和settExtForSpan1(){
//工作
span change.val($newText.change();
};
$(函数(){
span更改。更改(功能(e){
var$val=$(this.val(),
$newVal=some*calc-$val;
$(“#span1”).text($val);
$(“#spanWhatever”).text($newVal);
});
});

虽然我真的觉得这种“变通”方法虽然在创建简单更改事件的某些方面很有用,但它的范围太大了,最好在更改Span 1的同时对其他Span进行更改。

Span默认情况下没有“更改”事件。但您可以手动添加此事件

$("#span1").text('test').trigger('change'); 
聆听span的变化事件

$("#span1").on('change',function(){
     //Do calculation and change value of other span2,span3 here
     $("#span2").text('calculated value');
});
无论您在哪里更改span1中的文本。手动触发更改事件

$("#span1").text('test').trigger('change'); 
找到了解决办法

假设您将span1设置为我的文本

可以通过以下方式捕获文本更改事件:

$(document).ready(function(){
    $("#span1").on('DOMSubtreeModified',function(){
         // text change handler
     });

 });
 

此事件仅限于元素、框和元素
”您应该在更改
值的任何位置处理此事件。请在此处参考突变观察者的答案:您在IE中尝试过吗?对我来说,它在Chrome中工作,但在IE中不工作。@SiddiqueMahsud:IE有很多不同的版本。只是说明IE在所有人中的意义?那么,一切的定义是什么呢?包括“边缘”?对我来说很有魅力。也可以与不带JQuery的标准eventListener一起使用<代码>文档.getElementById(“test”).addEventListener(“DOMSubtreeModified”),函数(i){…