2014-07-04 146 views
0

我想結合兩個相同的代碼,它們只在事件處理程序中有所不同。當網站被加載時,它啓動我的功能,如果用戶調整它的瀏覽器,它將更新變量並再次運行該功能。將兩個事件處理組合成一個事件處理

$(window).load(function() { 

     $(!agent) { 

      var milk = $().height(), 
       choco = $().width(); 

      doThis(); 

     } else { 
      var orange = $().length(), 
       apple = $().width(); 

      orThis(); 
     } 

}); 

$(window).resize(function() { 

     $(!agent) { 

      var milk = $().height(), 
       choco = $().width(); 

      doThis(); 

     } else { 
      var orange = $().length(), 
       apple = $().width(); 

      orThis(); 
     } 

}); 

回答

1

或者你可以定義函數:

function mySuperDuperEventHandler() 
{ 
    $(!agent) { 

     var milk = $().height(), 
      choco = $().width(); 

     doThis(); 

    } else { 
     var orange = $().length(), 
      apple = $().width(); 

     orThis(); 
    } 
} 

然後將其指定爲事件處理程序:

$(window).on('load resize',mySuperDuperEventHandler); 
+0

太好了!這工作。謝謝你,jcaron。 – Pennf0lio

0

您可以將多個事件與on()偵聽器結合使用。

$(window).on('load resize',function() { 

     $(!agent) { 

      var milk = $().height(), 
       choco = $().width(); 

      doThis(); 

     } else { 
      var orange = $().length(), 
       apple = $().width(); 

      orThis(); 
     } 

});