0

单击按钮时,我正在通过 jQuery 更改按钮样式。下面是代码。

<script type="text/javascript">
    $(document).ready(function () {
        $("#btnDiv .down").click(function () {
            $(this).addClass("click");
        });
    });

由于我已将#btnDiv 包含在 UpdatePanel 中,因此上述功能仅执行一次。问题的原因和解决方法是什么。

4

2 回答 2

1

当你渲染你的 updatePanel 时,你需要再次执行那些 javascript,否则之前的绑定事件在更新后将不存在。

看看jQuery.on()

如果你有 1.7 之前的 jQuery 版本,你可能需要使用.delegate()or.live()函数。

所以你的代码可能是:

$(document).ready(function () {
        $("#btnDiv .down").on("click",function () {
            $(this).addClass("click");
        });
    });

您无需在每次更新面板时都渲染上述代码。只执行一次。

于 2012-01-05T07:05:44.103 回答
0

假设“UpdatePanel”动态改变它的内容。然后,您需要使用 jquery .on()(或.delegate())函数为动态更新的元素绑定事件。

于 2012-01-05T07:03:23.783 回答