2012-02-25 71 views
2

jQuery的是讓beautyful效果簡化mouseover/mouseout jQuery事件? (一個單一的事件處理程序?)

最好的方式,但我想知道,如果可能的豈不等於減少該代碼

$(function(){ 
    $("obj").mouseover(function(){ 
     // do something 
    }); 
    $("obj").mouseout(function(){ 
     // ... 
    }); 
}); 

一些東西一樣

$(function(){ 
    $("obj").mouseover(function(){ 
     // do something 
    }else{ 
     // ... 
    } 
}); 
+0

當你考慮'mouseout'等於'mouseleave',使用['.hover'(HTTP: ()函數(){/ * mouseleave * /}) ;});' – 2012-02-25 23:05:43

+0

雖然有任何意見嗎?它的代碼更容易閱讀,而不是減少代碼並使其更難 – Undefined 2012-02-25 23:06:29

+0

該語法甚至不會接近工作;-) jQuery不會改變JavaScript。 'else'需要一個'if'。請記住,您也可以鏈接:'$(「obj」)。mouseover(...)。mouseout(...)'(這對jQuery中的許多事情都有效)。另外,任何*(正確設計的)函數對象都會執行,例如:'$(「obj」)。mouseover(myMouseOver)'(其中'myMouseOver'評估爲適用的函數對象) – 2012-02-25 23:07:01

回答

1

你可以訂閱.hover事件,這可能需要2個回調:

$(function() { 
    $("obj").hover(function() { 
     // do something 
    }, function() { 
     // ... 
    }); 
}); 
0

大多數jQuery函數返回到它們所連接到的對象的引用,所以你實際上可以做:

$("obj").mouseover(function(){ 
     ... 
}).mouseout(function(){ 
     ... 
}); 
相關問題