jQuery中有一個很方便的鼠標事件處理工具——mouseout。它可以在鼠標移出一個元素時執行指定的操作。
$(selector).mouseout(function(){ //需要執行的操作 });
其中,selector代表需要綁定事件的元素,后面的function里可以寫需要執行的具體操作。在使用mouseout時,需要注意的是,當鼠標從當前元素移出到其子元素上時,也會觸發mouseout事件。如果需要避免這種情況,可以使用jQuery的e對象來判斷是否真正移出了當前元素。
$(selector).mouseout(function(e){ if(!$(this).has(e.target).length){ //需要執行的操作 } });
上面代碼中的has方法可以判斷當前元素是否包含傳遞進來的target元素,如果沒有包含則證明真正移出了當前元素。
mouseout還有一個比較特殊的用法,就是可以在mouseout和mouseover之間切換。具體實現方式可以使用jQuery中的toggle方法:
$(selector).toggle( function(){ //鼠標移出 }, function(){ //鼠標移入 } );
上面代碼中,toggle方法中傳入了兩個function,第一個代表鼠標移出時的操作,第二個代表鼠標移入時的操作。每次執行toggle方法時,都會在這兩個function之間切換,非常方便實用。