2つの別々の関数の同じコードを1つの関数に結合する方法があるかどうかを尋ねる
私の場合は:
jQuery('body').on('click', '.some_div', function (e) {
// Long and fancy code
});
jQuery(window).resize(function() {
// Do the same fancy stuff (identical code)
});
2つの別々の関数の同じコードを1つの関数に結合する方法があるかどうかを尋ねる
私の場合は:
jQuery('body').on('click', '.some_div', function (e) {
// Long and fancy code
});
jQuery(window).resize(function() {
// Do the same fancy stuff (identical code)
});
あなたは下に呼び出す単一の関数を定義することができます。両方のイベント:
function doSomething(e) {
console.log('Your code here...');
}
jQuery('body').on('click', '.some_div', doSomething);
jQuery(window).resize(doSomething);
ベアthis
への参照を上げイベントによって異なります念頭に置いて、それはあなたのdoSomething
関数内で使用する必要があります。
あなたは両方のイベントをハンドラとイベントハンドラに、この関数のリファレンスを渡す関数を作成することができます
function myHandler(e) {
// Long and fancy code
}
jQuery('body').on('click', '.some_div', myHandler);
jQuery(window).resize(myHandler);
別の関数を作成し、必要な場所からそれを呼び出す:
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')
});
@タシャールはい、あなたは私を持っています。 – gaowhen
またどのように上の[この](http://gomakethings.com/javascript-resize-performance/)リファレンスを参照してください、リサイズ機能はラグラグのサイズを変更します/クライアントのbrwoserが遅くなる可能性があることに注意してくださいそれを防ぐ。 –