如何摆脱jquery加载元素中的js

Posted

技术标签:

【中文标题】如何摆脱jquery加载元素中的js【英文标题】:How to get rid of js inside jquery loaded element 【发布时间】:2019-03-22 19:36:19 【问题描述】:

我正在使用 JQuery load() 方法创建一个单页应用程序。

情况是,我用 jquery 加载的每个 php 文件里面都有一个 JS,

问题是每个 PHP 应用程序中的 JS 一直在使用,即使当我在同一元素中加载另一个文件时它被覆盖。 由于 js 可以互换使用,因此我加载的每个文件都存在冲突。

以它为例:

file1.php

 <input id="supplier" name="supplier" onblur="highlight()">
 <script>
    function highlight()
 </script>

file2.php

 <input id="supplier" name="supplier" onblur="highlight()">
 <script>
    function highlight()
 </script>

问题:file1.php js 仍然在 file2.php 上执行,与 file2.php 到 file1.php 相同,即使 file1 被带有 jquery 加载的 file2 覆盖

有没有办法清除我覆盖的元素内的 jquery?

【问题讨论】:

嗨,Eeshiro。感谢您在 SO 上发帖。你有没有机会澄清你的问题?很难理解您的问题是什么以及您要问什么。 【参考方案1】:

根据 jQuery.load 文档,将选择器传递给 load 方法将删除所有脚本。

http://api.jquery.com/load/#script-execution

$('.my-element').load('my-php-file.php #supplier');

【讨论】:

以上是关于如何摆脱jquery加载元素中的js的主要内容,如果未能解决你的问题,请参考以下文章

让 ajax 加载的部分视图中的元素触发 jquery 事件(引导模式形式)

如何删除 Vue.js 中的元素?

使用JQuery删除html页面中的元素

使用JQuery删除html页面中的元素

jquery 某个元素加载完成的事件是?

Webpack加载器摆脱es6 / 7中的括号