将$(' body')on(' click')与$(window).resize(jQuery中的function())结合起来

时间:2015-12-23 09:04:57

标签: javascript jquery

想知道是否有办法将2个独立函数的相同代码组合成1个函数。

就我而言:

utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign

4 个答案:

答案 0 :(得分:15)

您可以定义在两个事件下调用的单个函数:

function doSomething(e) {
    console.log('Your code here...');
}

jQuery('body').on('click', '.some_div', doSomething);
jQuery(window).resize(doSomething);

请注意,this的引用会因所引发的事件而有所不同,如果在doSomething函数中使用,则会有所不同。

答案 1 :(得分:5)

您可以创建一个函数来处理这两个事件,并将此函数引用传递给事件处理程序。

function myHandler(e) {
    // Long and fancy code
}

jQuery('body').on('click', '.some_div', myHandler);

jQuery(window).resize(myHandler);

答案 2 :(得分:4)

还有另一种方法。

jQuery('body').on('click', '.some_div', function (e) {
    // Long and fancy code
});

jQuery(window).resize(function () {
    $('.some_div').trigger('click')
});

答案 3 :(得分:3)

创建一个单独的函数并从所需位置调用它:

jQuery('body').on('click', '.some_div', function(e){
    myFunction();
});


jQuery(window).resize(function() {
    myFunction();
});

function myFunction(){
   // Long and fancy code
}