我有下一个代码来处理ASP.Net控件。
当结果变量(res)等于“NO”时,我正在尝试在按钮上添加一些javascript代码到“onclick”事件。问题是它第一次将值赋给“onclick”它工作正常,但是当执行removeAttr并再次调用函数并且res再次等于“NO”时,它不会添加代码“ onclick“事件。那么这有什么不对?谢谢你的帮助。 =)
注: - HLevel (文本框) - PSave (LinkButton)
$('#HLevel').blur(function () {
// SOME CODE HERE BEFORE THE ISSUE CODE
var res = $(msg).find("string").text();
if (res == "NO") {
$('#PSave').attr("onclick", "javascript:return confirm('some text');");
} else {
$('#PSave').removeAttr("onclick");
}
});
答案 0 :(得分:1)
您需要更改click事件处理程序,如下所示:
$('#HLevel').blur(function () {
// SOME CODE HERE BEFORE THE ISSUE CODE
var res = $(msg).find("string").text();
if (res == "NO") {
$('#PSave').click(function(){
return confirm('some text');
});
} else {
$('#PSave').unbind('click');
}
});
答案 1 :(得分:1)
为什么不使用jquery而不是javascript onclick处理程序。那些很乱。
$('#PSave').click(function(){
confirm('some text');
});
而不是removeAttr使用unbind。
$('#PSave').unbind();
答案 2 :(得分:1)