标签文本更改事件
本文关键字:事件 文本 标签 | 更新日期: 2023-09-27 18:07:49
在我的页面中,如果一个标签的文本已经改变,我需要使用JQuery触发一些函数,因为.Change()
仅限于<input> and <select>
,我使用一个函数,如
$("#ctl00_ContentPlaceHolder1_lblMsg").on('labelchanged', function () {
alert('changed!');
}
});
$("#ctl00_ContentPlaceHolder1_lblMsg").trigger('labelchanged')
但是当标签的文本被改变时,上面的函数不会被触发,任何人都可以告诉我,我在上面的函数
中缺失了什么Edit:标签的文本将在运行时被更改,只有当一些消息发生或抛出一些异常时,它被用来显示该异常
我的aspx代码,标签文本将被更改
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
//submit code//
}
catch(Exception ex)
{
lblMsg.Text=ex.Message();
}
}
$("#ctl00_ContentPlaceHolder1_lblMsg").on('labelchanged', function () {
alert('changed!');
});
$("#btn_change").on('click', function(){
$("#ctl00_ContentPlaceHolder1_lblMsg").html('New Label Text').trigger('labelchanged');
});
$(window).on('keypress', function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13')
$("#btn_change").trigger('click');
});
演示小提琴在stackoverflow上有几个类似的问题/答案。
我不认为你可以像那样在jquery中触发任何用户定义的事件。解决方法是使用这样的承诺:
$("#ctl00_ContentPlaceHolder1_lblMsg").html("Duplicate record can't be saved.").promise().done(function(){
alert('changed!');
});