Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改的jQuery类只执行一次操作_Jquery_Ajax.net - Fatal编程技术网

更改的jQuery类只执行一次操作

更改的jQuery类只执行一次操作,jquery,ajax.net,Jquery,Ajax.net,当通过jQuery单击按钮时,我正在更改按钮样式。 下面是代码 <script type="text/javascript"> $(document).ready(function () { $("#btnDiv .down").click(function () { $(this).addClass("click"); }); }); $(文档).ready(函数(){ $(“#btnDiv.down”)。

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

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

$(文档).ready(函数(){
$(“#btnDiv.down”)。单击(函数(){
$(此).addClass(“单击”);
});
});

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

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

当呈现updatePanel时,需要再次执行这些javascript,否则更新后前绑定的事件将不存在

看看

如果您的jQuery版本在1.7之前,可能需要使用
.delegate()
.live()
函数

因此,您的代码可以是:

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

不需要每次更新面板时都呈现上述代码。只执行一次。

什么意思?它只执行一次?你不能将同一个类多次添加到同一个元素中(至少,这样做没有意义)。问题是,每当我点击按钮创建一个类时,它都会改变它的类。我的问题是,它工作得很好,但是因为我已经将它包含在updatePanel中,所以更改类代码只是第一次起作用。您是否也认为在添加“click”类时应该删除“down”类+1关于tandu的评论。