繁体   English   中英

使用相同的事件处理程序分别使用不同的事件绑定多个元素的优雅方法是什么?

[英]What's the elegant way of binding multiple elements with different event respectively using same event handler?

我有$(document)和$(window),它们分别与'ready'和'resize'事件绑定。 他们共享相同的事件处理程序。

码:

$(window).on('resize', function () {    
     Shared code
});
$(document).ready(function () {
     Shared code
});

而不是上面的风格,有一种传统的处理方式,以使代码清洁和简单>

实际上它非常简单。

var handler = function (event) {
    // Whatever you want to handle
};

$(window).on('resize', handler);
$(document).ready(handler);

如果您不想污染全局命名空间,另一个选项是使用立即执行的匿名函数。

以TheShellfishMeme的答案为基础:

// handler will not be defined at this point
(function() {
    var handler = function (event) {
        // Whatever you want to handle
    };

    $(window).on('resize', handler);
    $(document).ready(handler);
})();
// handler will not be defined at this point

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM