如何在标签文本更改时触发事件
how to fire event on label text change
我正在尝试在标签文本更改时触发一个函数。这是我的代码
$("#frameItemCode").change(function (e) {
alert("Changed");
});
#frameItemCode
是我的标签 ID,但事件未触发。我以前尝试过给出的例子,但它们对我没有帮助。这是我的网页
<div class="input-group">
<span class="input-group-addon" @*style="width: 120px;"*@>Item Group</span>
<label class="input-group-addon" @*style="width: 120px;"*@ id="frameGroupCode"></label>
<input class="form-control" type="text" id="frameGroupName" style="">
</div>
查看change
事件的文档。它仅针对特定类型的元素触发:
当用户提交对元素值的更改时,将为
<input>
、<select>
和<textarea>
元素触发 change 事件。
您将无法将 change
事件用于不是前面提到的类型之一的元素。
如果您有其他方法可以知道特定元素的编辑已完成,则必须触发自己的事件 - 可能使用用于更改值的元素上的blur
事件。当所选元素失去焦点时(例如,当用户单击(或按 Tab 键)输入元素时,将触发 blur
事件。
对于标签.change()
不起作用,所以你可以通过使用调用我们的自定义事件的trigger()
来尝试这样的事情,这里是我的自定义事件fnLabelChanged
.change()
活动适用于<input>
、<textarea>
、<select>
$("button").on('click',function(){
$("#frameGroupCode").text("Hello").trigger("fnLabelChanged");
});
$("#frameGroupCode").on('fnLabelChanged', function(){
console.log('changed');
})
工作演示
您可以获取标签的当前文本,并在按键或按下按钮时检查值是否不同。change
事件不适用于非表单元素。
使用,$("#frameItemCode").text('abc')
更改标签(如您所评论的),只需在此之后调用alert("changed")
即可。无需定义事件侦听器。
$("#frameItemCode").text('abc');
alert("changed");
如果标签以多种方式更改,请定义一个时间间隔来检查标签是否已更改,
function inspectLabel(callback){
var label = $("#frameItemCode").text();
setInterval(function(){
var newlabel = $("#frameItemCode").text();
if (newlabel != label){
callback();
label = newlabel;
}
}, 100);
}
inspectLabel(function(){
alert('changed');
});
根据您需要支持的浏览器,您可以使用 MutationObserver:
var observer = new MutationObserver(
function (mutations) {
alert('Label was changed!');
}
);
observer.observe(document.querySelector('#frameGroupCode'), { childList: true });
示例 jsFiddle
我不认为标签有与之关联的change()事件,如果你想实现它,那么它可以通过JQuery或JS来完成。因为动态更改标签文本是通过 Jquery 或 JS 完成的。
相反,您可以创建一个函数,并在标签从发生标签文本更改的函数更改时调用它。
- 兰吉 |如何在 span 标签上使用单击事件删除突出显示的文本
- 如何在tinymce编辑器中将点击事件绑定到html标签
- xPages标签onclick事件不'不要在空白处工作
- 对象 Javascript 中的标签无效 - 想要添加事件列表器
- 如何在Chart.js v2.0中的标签上添加OnClick事件
- 结合onmouseover事件和<a>标签
- JS在input标签上使用keyup事件进行搜索
- 将处理程序附加到“a”标签上的单击事件,即使我不单击也会触发
- 将 OnClick 事件附加到我的标签 - JavaScript.亚德夫.
- JavaScript on Click 事件在 img 标签上无法正常工作
- 将函数事件绑定到更改函数的复选框/标签
- 如何在标签值更改时使用 jquery 事件
- 谷歌标签管理器点击事件没有冒泡到家长
- 带有标签的外部链接会延迟滚动事件
- 在每个条形图的中间添加文本标签&鼠标悬停事件
- 谷歌标签管理器,事件推送到数据层
- Ember:使用{{action}}标签处理多个事件
- <的Onchange事件;td>标签
- 如何使用输入模糊事件更新多个具有相同类名的标签的文本
- Google Analytics应用脚本获取包含特定字词的所有媒体事件标签