我有几个带有特定类别的标签。当通过 jQuery 更改标签文本时,我想触发一个 javascript 函数。在jQuery中更改标签值时如何触发函数?我尝试了以下方法无济于事:
$(".className").Change(function () {
$(this).Change(function () {
calculate();
});
});
我有几个带有特定类别的标签。当通过 jQuery 更改标签文本时,我想触发一个 javascript 函数。在jQuery中更改标签值时如何触发函数?我尝试了以下方法无济于事:
$(".className").Change(function () {
$(this).Change(function () {
calculate();
});
});
这是行不通的!
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>
在Jquery中更改标签值时如何触发函数?
通过在更改标签文本后简单地调用该函数。
$label.text('New label text');
calculate();
修改元素的内容不会触发change
事件。这是一个仅由表单控件元素触发的事件。
更改事件是浏览器发起的,所以这里要接收值更改事件,您需要发起自定义更改事件。div
在这里,我假设 label 是 anyp
或span
like 元素。
$(".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();
}
字母大小写可能是这里的问题。试试jQuery函数change()
(小写字母开头)