如何在应用程序的多个组件中维护一个 js 文件而不会出现任何错误

How to maintain one js file across several components of an application without any error

本文关键字:js 一个 文件 错误 任何 应用程序 组件 维护      更新时间:2023-09-26

我的Web应用程序有几个组件,比如联系人,产品,帮助,我可以从主页浏览。每个这样的组件都有各种小部件,例如下拉菜单、文本区域、按钮等。对于所有这些,我在所有components/tabs中只有一个 js 文件。但是,如果当前打开的component/tab没有js中提到的特定项目(例如下拉列表),则会抛出如下所示的错误

未捕获的类型错误: $(...)。on 不是函数

我如何确保使用一个 js 文件时,当打开选项卡时,只有 应考虑该选项卡中存在的widgets/items,而不是其他小部件。我的js文件如下所示,它有一个$(document).ready(function() { construct,里面有页面事件驱动行为的所有代码:

$(document).ready(function() {
      $("#tab_1_dropdown").on('change', function(e) {
            // something
      });
       $('#tab_2textarea').click(function(e) {
           // something
       });
});

你误解了这个问题。

如果是因为缺少 id tab_1_dropdown 的元素,则此代码将运行,并且您将更改事件处理程序应用于所有零匹配项(并且不会有错误)。

错误消息指出未定义$().on。这意味着您的脚本依赖于jQuery,并且您已经包含一个不包含该功能的古老版本。

在尝试使用它之前,您可以测试以查看$().on是否可用。

var $tab1 = $("#tab_1_dropdown")
if ($tab1.on) { /* etc etc */ }

最好修复您的系统,以便它始终包含 jQuery 的现代版本。