-1

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

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

4 回答 4

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它是 no或。<input><textarea><select>

于 2013-06-10T10:14:24.507 回答
0

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

通过在更改标签文本后简单地调用该函数。

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

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

于 2013-06-10T10:17:49.210 回答
0

更改事件是浏览器发起的,所以这里要接收值更改事件,您需要发起自定义更改事件。div在这里,我假设 label 是 anypspanlike 元素。

$(".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();
}
于 2013-06-10T10:19:27.530 回答
-2

字母大小写可能是这里的问题。试试jQuery函数change()(小写字母开头)

于 2013-06-10T10:11:51.980 回答