Javascript 什么';使用相同的事件处理程序分别将多个元素与不同的事件绑定是一种优雅的方式吗?

Javascript 什么';使用相同的事件处理程序分别将多个元素与不同的事件绑定是一种优雅的方式吗?,javascript,jquery,Javascript,Jquery,我有$(文档)和$(窗口),它们分别与'ready'和'resize'事件绑定。它们共享同一个事件处理程序 代码: 与上面的样式不同,是否有一种常规的方法来处理此问题,以使代码干净、简单>实际上非常简单 var handler = function (event) { // Whatever you want to handle }; $(window).on('resize', handler); $(document).ready(handler); 如果您不想污染全局名称空间,

我有$(文档)和$(窗口),它们分别与'ready'和'resize'事件绑定。它们共享同一个事件处理程序

代码:


与上面的样式不同,是否有一种常规的方法来处理此问题,以使代码干净、简单>

实际上非常简单

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

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

如果您不想污染全局名称空间,另一种选择是使用立即执行的匿名函数

基于Hellfishmeme的答案:

// 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
// 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