js 可以设定同样一个 event 事件可以有两个 click ?以及将 js 功能提出的问题?

問題一

$('.active-btn').click(function(e) {
    // do 1...
    // do 4...
});

$('.active-btn').click(function(e) {
    // do 2...
    // do 3...
});

我突然发现这个问题
我 click 事件重复了
但是我竟然可以分别做 1,2,3,4 这些事?
虽然两个要做的事没有重复
只是这样是可行的喔?

问题二
另外问一下在 js function 中有没有办法将功能提出?

$('.btn').click(function(e) {

  switch (type) {
    case 'a':
        // do a
        // 寫成獨立一個 a.js 引入到這
    break;
    
    case 'b':
        // do b
        // 寫成獨立一個 b.js 引入到這
    break;
    
    case 'c':
        // do c
        // 寫成獨立一個 c.js 引入到這
    break;
  }
});

假设有三件事情可以做
我可以将这三件事情另外写三个js,然后引入到里面吗?
就很像是 php 的 require or include 一样
虽然引入不同档案,但是就是在做档案里面的事?
或是类似效果的做法?

追加問題三

clipboard.png

這兩種引入哪裡有差別?

阅读 531
评论 更新于 2019-02-04
    1 个回答
    ushio
    • 1.3k

    第一个问题:jquery是可以支持单一事件绑定多个监听函数的,就其底层实现跟使用原生的addEventListener一样,只有设置onClick这样的属性赋值才会覆盖事件。
    第二个问题:当然可以做模块化的拆分,有很多中引入模块的处理方式,requireJsES6原生支持的import。其实现就是按照规则的先定义好模块并输出,然后可以按需加载。

    评论 赞赏 2019-02-04
      撰写回答

      登录后参与交流、获取后续更新提醒