如何在jQuery中更改标签值时触发函数?

时间:2013-06-10 10:07:35

标签: jquery

我有几个特定类的标签。我想通过jQuery更改标签文本时触发javascript函数。如何在jQuery中更改标签值时触发函数?我试过以下无济于事:

$(".className").Change(function () {
    $(this).Change(function () {
        calculate();
    });
});

4 个答案:

答案 0 :(得分:2)

这不起作用!

The change event is sent to an element when its value changes. This event is limited to <input> elements, <textarea> boxes and <select> elements. For select boxes, checkboxes, and radio buttons, the event is fired immediately when the user makes a selection with the mouse, but for the other element types the event is deferred until the element loses focus.

标签没有属性value,它不是<input><textarea><select>

答案 1 :(得分:0)

  

如何在Jquery中更改标签值时触发函数?

在更改标签文本后,只需调用该函数即可。

$label.text('New label text');
calculate();

修改元素的内容不会触发change事件。这是一个仅由表单控件元素触发的事件。

答案 2 :(得分:0)

更改事件是由浏览器启动的,因此这里接收您需要启动自定义更改事件的值更改事件。在这里,我假设标签是任何divpspan之类的元素。

$(".className").change(function () {
            $(this).change(function () {
                calculate();
           });
 });

像这样创建你的客户事件观察者。

var oldVal = "";
$(function({
   setInterval(Observe,200); // waits for change to happen
}))

function Observe(){
if($(".className").text() != oldVal){
         $(".className").trigger('change');
       }
       oldVal = $(".className").text();
}

答案 3 :(得分:-1)

信件案可能是这里的问题。 尝试jQuery函数change()(以小写字母开头)