如何在应用程序的多个组件中维护一个 js 文件而不会出现任何错误
How to maintain one js file across several components of an application without any error
我的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 的现代版本。
相关文章:
- Sails.js:同时发布文本输入和一个文件
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- Angular js-返回一个包含类似
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 如何在react js中将值从一个组件发送到另一个组件
- 为什么要包装每一个原型“;类“;JS中具有匿名函数的对象
- Ember.js - 一个视图多个布局(已登录/未登录)
- Ember.js:一个模型如何观察其他模型
- 三.js一个物体可以同时旋转和移动吗?
- 护照 JS - 一个登录表单 - 重定向到不同的 URI,具体取决于用户角色
- Backbone JS:一个视图可以触发其他视图的更新
- WebGL/Three.js一个复杂对象(网格)上的不同材质
- Backbone.js一个模型被多个视图修改
- Html5 js一个页面看起来多页面
- Ext JS -一个开始
- JQuery / JS -一个选择器用于多个输入
- 开始使用Underscore.js(一个简单的运行程序)
- (video - js)一个视频出错会导致其他所有视频无法播放
- 欧芹.js - 一个多步骤功能适用于所有形式