我有几个特定类的标签。我想通过jQuery更改标签文本时触发javascript函数。如何在jQuery中更改标签值时触发函数?我试过以下无济于事:
$(".className").Change(function () {
$(this).Change(function () {
calculate();
});
});
答案 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)
更改事件是由浏览器启动的,因此这里接收您需要启动自定义更改事件的值更改事件。在这里,我假设标签是任何div
,p
或span
之类的元素。
$(".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()
(以小写字母开头)