Javascript框架提供,它会掉进坑里不小心,这么多的功能,更多的依赖于工具库,他们越有可能会影响其他的功能,当它们被修改或维持,俗称矿山处处小心翼翼地走着,特别是在维护遗留代码在很多年以前,一个我经常看到的错误是jQuery的触发,它允许开发人员手动触发某些事件。这个功能真的非常强大的和有用的,但请遵守公约,不触发JS原生事件名称!
注:我知道其他js框架也提供这种功能——我只使用jQuery作为一个例子,因为我看到了它的普及和最近遇到这个问题了。所有的工具库可以造成同样的问题。例如,你用fireevent等等。
下面是使用触发器完成任务的一个典型示例:
复制代码代码如下所示:
/单击单击事件
jQuery('标签'),(听到咔哒声,函数()){
执行某些操作,如开关接口、加载内容等。
});

在标签的结尾单击。
jQuery('标签')。去年()。Trigger(听到咔哒声);

上面的代码将打开给定索引的tab标签。我完全理解为什么开发人员使用触发器来处理这些事情,通常是因为在全局范围内触发的函数不可用,触发事件非常容易而且总是可用的。问题是,使用本机事件名称触发可能的事件…触发...有些无法形容的伤害,让我们看看添加到站点的其他部分:
复制代码代码如下所示:
所有单击/内部事件侦听器
jQuery('body '),(听到咔哒声,'a',函数()){
在这里,可以执行一些业务逻辑处理…

与其他条件相符合的条件!
如果(conditionmet){
刷新页面
打开菜单
提交表单
灯踏板踏板,英特尔…
}
});

现在有一个问题-选项卡点击事件可能被其他完全独立的部分监控,这是比较麻烦的,最好的解决方案是使用自定义事件名,然后使用本机事件:
复制代码代码如下所示:
/单击单击事件,使用自定义事件
jQuery('标签'),(点击选项卡单击,函数(){){
开关标签,加载内容,等等…
});

标签上最后一个事件
jQuery('标签')。去年()Trigger('tabs-click);

现在,您的事件触发器将不再与页面上的其他监听器冲突。保守的开发人员对我说,您可能希望避免使用触发器(其他工具库是相同的),但您还应该添加一个自定义事件名。