JQuery 使用 ajax 将 javascript 复制到文档

发布于 2024-12-09 08:57:38 字数 400 浏览 0 评论 0原文

在左侧菜单中,使用此脚本在 div 中加载新页面:

$("#button").live('click',function(){
                $("#content")
                .html(ajax_load)
                .load("page.html");
            });

在 page.html 中,有一些 javascript 使用 ajax(也使用 jquery)添加一些 UI 元素。

当我点击同一个左侧菜单项 5 次(因此 div 加载 5 次)时,似乎 page.html 中的 javascript 被复制。当我调用 page.html 中的函数时,它会执行 5 次!

如何解决这个问题?

In the left menu is use this script to load a new page in a div:

$("#button").live('click',function(){
                $("#content")
                .html(ajax_load)
                .load("page.html");
            });

In the page.html there's some javascript to add some UI elements using ajax (also with jquery).

When i click the same left menu item 5 times (so the divs loads 5 times), it seems that the javascript in page.html gets copied. when i call a function in the page.html its get executed 5 times!!

How to fix this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

万劫不复 2024-12-16 08:57:38

如果您对 page.html 中的任何内容使用 live() ,即使加载了新的 page.html,事件处理程序也会持续存在,这可能就是您多次执行相同执行的原因。

If you use live() for anything inside page.html the event handler will persist even if a new page.html is loaded that's probably why you have the same execution multiple times.

永言不败 2024-12-16 08:57:38

“page.html”中发生了哪些 javascript 执行,它们是事件绑定吗?如果是这样,请查看 .live() 方法并从 page.html 文件中提取 javascript。当 page.html 的元素进入作用域时,live() 方法中的绑定将正确处理它们。

如果您正在做其他事情,请提供更多背景信息。

What javascript executions are happening in "page.html" Are they event bindings? If so, look at the .live() method and pull the javascript out of your page.html file. When the elements of the page.html are brought into scope they will be correctly handled by the bindings in the live() method.

If you are doing something else, please provide more context.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文