如何将JQuery添加到从ajax调用加载的html中?

 CJT--陳嘉婷 发布于 2023-01-18 15:29

我在这样的jsp中有一个div:

在对servlet进行ajax调用之后,此div附加为:

Connected as user : Tony

You selected the procedure : lg_resultsretrieval





我为textarea编写了一个jquery函数,如下所示:

//submits only when the textbox value is valid
    $("#response").on("change", function() { 
              $("#Execute").click(function () {
                    if ($(".txtarea").val() == this.defaultValue)
                    {
                        alert("Please insert a valid value");
                        return false;
                    }
                });

              $("txtarea")
              .focus(function() {
                    if (this.value === this.defaultValue) {
                        console.log('inside focus function');
                        this.value = '';
                    }
              })
              .blur(function() {
                    if (this.value === '') {
                        this.value = this.defaultValue;
                    }
            });       
            });

问题是,上面的代码不起作用,虽然在jquery文档中它表示在动态加载元素的函数上使用.我如何使其工作?请建议

1 个回答
  • 如果div在DOM中替换它本身,那么附加到它的任何处理程序确实div会丢失.请注意如何在此处附加处理程序:

    $("#response").on("change", function() {
      // code
    });
    

    div会将处理程序直接附加到$("#response")评估选择器时的状态.处理程序附加到元素,而不是动态选择器.为了保留添加/替换的元素的处理程序,您需要绑定到父元素并过滤目标元素.像这样的东西:

    $(document).on("change", "#response", function() {
      // code
    });
    

    这会将处理程序绑定到document对象,该对象不会更改,因此处理程序不会在子元素更改时丢失.(作为参考,我实际上昨天刚刚在博客上发表过这篇文章.)

    2023-01-18 15:31 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有