回发时触发jQuery脚本

回发时触发jQuery脚本,jquery,Jquery,我一直在从.net用户控件背后的代码注入这个jQuery代码。。。我突然想到,jQuery的这个应用程序可以使用AJAX来完成。。。我还在回发。。。我很好奇,当页面发生变化时,我如何才能让代码执行,而不必注入 Protected _picklistColorScriptText As String = "$(document).ready(function(){ " + _ "$('[id ^= ""

我一直在从.net用户控件背后的代码注入这个jQuery代码。。。我突然想到,jQuery的这个应用程序可以使用AJAX来完成。。。我还在回发。。。我很好奇,当页面发生变化时,我如何才能让代码执行,而不必注入

Protected _picklistColorScriptText As String = "$(document).ready(function(){ " + _
                                                "$('[id ^= ""usrControl""]:visible:disabled').css(""background-color"", '#DCDCDC'); " + _
                                                "$('[id ^= ""usrControl""]:visible:enabled').css(""background-color"", '#FFFFFF');" + _
                                                "});"

将JS/jQuery代码放在pageLoad函数中,而不是(document).ready放在html中,而不是放在后面的代码中。pageLoad将在所有回发上启动

function pageLoad(){

    jQuery here...

}

您不需要在代码隐藏中注册该脚本。。。如果将其放在html中,它将在每次页面加载(发回)时执行。

您需要在$(document).ready()和ajaxComplete()中运行该代码


即使在部分页面回发中也会发生这种情况吗?我使用的是Ajax更新面板。documentReady不会在部分回发时触发。即使在部分页面回发时也会发生这种情况吗?我正在使用Ajax更新面板。谢谢James,虽然Stephens方法可行,但我也会尝试你的方法,因为你有一个给出如此好的编码建议的习惯!!!首先我听说过这种方法。我也会尝试一下。我还没有尝试过pageLoad(),但它是特定于Microsoft的UpdatePanels实现的。如果您的AJAX调用是通过jQuery完成的,那么jQuery.ready()/ajaxComplete()可以工作。
function styleControls() {
    // your styling code
}

$(document).ready(styleControls)
           .ajaxComplete(styleControls);