Jquery 更新attr(“onclick”)问题
我有下一个代码来处理ASP.Net控件 当结果变量(res)等于“NO”时,我试图向按钮上的“onclick”事件添加一些javascript代码。问题在于,第一次将值赋给“onclick”时,它工作正常,但当执行removeAttr时,函数再次被调用,res再次等于“NO”,它不会在“onclick”事件上添加代码。这有什么不对吗?谢谢你的帮助 图例: -HLevel(文本框) -PSave(链接按钮)Jquery 更新attr(“onclick”)问题,jquery,attr,Jquery,Attr,我有下一个代码来处理ASP.Net控件 当结果变量(res)等于“NO”时,我试图向按钮上的“onclick”事件添加一些javascript代码。问题在于,第一次将值赋给“onclick”时,它工作正常,但当执行removeAttr时,函数再次被调用,res再次等于“NO”,它不会在“onclick”事件上添加代码。这有什么不对吗?谢谢你的帮助 图例: -HLevel(文本框) -PSave(链接按钮) 您需要更改click事件处理程序,如下所示: $('#HLevel').blur(func
您需要更改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');
}
});
为什么不全部使用jquery而不是javascript onclick处理程序呢。那些都是乱七八糟的
$('#PSave').click(function(){
confirm('some text');
});
使用unbind代替removeAttr
$('#PSave').unbind();
使用以下步骤和方法:
如果您使用jQuery,请尽可能多地使用它,不要混用样式。它工作得非常好!!!非常感谢Felix的建议!!!从现在起,我将使用更多jquery来避免此类问题。
$('#PSave').unbind();
if (res == "NO") {
$('#PSave').click(function() {return confirm('some text');});
} else {
$('#PSave').unbind("click");
}