[英]The Label's text changed without a textchanged Event handler? Why?
[英]Label Text Changed Event
在我的頁面中,如果Label的文本已更改,我需要使用JQuery觸發一些函數,因為.Change()
僅限於<input> and <select>
我使用類似
$("#ctl00_ContentPlaceHolder1_lblMsg").on('labelchanged', function () {
alert('changed!');
}
});
$("#ctl00_ContentPlaceHolder1_lblMsg").trigger('labelchanged')
但是,當標簽的文本已更改時,不會觸發以上功能,請有人指出我上述功能中可能缺少的內容
編輯:只有在發生某些消息或引發某些異常時,標簽的文本才會在運行時更改,使用它來顯示該異常
標簽文本將被更改的我的aspx代碼
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
//submit code//
}
catch(Exception ex)
{
lblMsg.Text=ex.Message();
}
}
在stackoverflow上,有幾個與您的問題相似的問題/答案。
我認為您不能像這樣在jquery中觸發任何用戶定義的事件。 解決方法是使用promise,如下所示:
$("#ctl00_ContentPlaceHolder1_lblMsg").html("Duplicate record can't be saved.").promise().done(function(){
alert('changed!');
});
$("#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');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.