Javascript 组合$(';body';)。在(';上单击';)和$(window)。调整jQuery中的(函数()大小
想知道是否有办法将两个独立函数的相同代码组合成一个函数 就我而言:Javascript 组合$(';body';)。在(';上单击';)和$(window)。调整jQuery中的(函数()大小,javascript,jquery,Javascript,Jquery,想知道是否有办法将两个独立函数的相同代码组合成一个函数 就我而言: jQuery('body').on('click', '.some_div', function (e) { // Long and fancy code }); jQuery(window).resize(function () { // Do the same fancy stuff (identical code) }); 您可以创建一个函数来处理这两个事件,并将此函数引用传递给事件处理程序 funct
jQuery('body').on('click', '.some_div', function (e) {
// Long and fancy code
});
jQuery(window).resize(function () {
// Do the same fancy stuff (identical code)
});
您可以创建一个函数来处理这两个事件,并将此函数引用传递给事件处理程序
function myHandler(e) {
// Long and fancy code
}
jQuery('body').on('click', '.some_div', myHandler);
jQuery(window).resize(myHandler);
您可以定义在两个事件下调用的单个函数:
function doSomething(e) {
console.log('Your code here...');
}
jQuery('body').on('click', '.some_div', doSomething);
jQuery(window).resize(doSomething);
请记住,如果在您的
doSomething
函数中使用此引用,则此将根据引发的事件而有所不同。创建一个单独的函数,并从所需位置调用它:
jQuery('body').on('click', '.some_div', function(e){
myFunction();
});
jQuery(window).resize(function() {
myFunction();
});
function myFunction(){
// Long and fancy code
}
还有另一种方法
jQuery('body').on('click', '.some_div', function (e) {
// Long and fancy code
});
jQuery(window).resize(function () {
$('.some_div').trigger('click')
});
还要记住,resize函数可能会减慢客户端的brwoser/make resizeing laggy laggy,请参阅有关如何防止这种情况的参考。@Tushar是的,你明白了。为什么要用一个不起任何作用的匿名函数包装对myFunction的调用?你可以直接传递myFunction。这是非常正确的@Racheet。。。!