<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>test</title> </head> <body> <button class="btn">按鈕</button> <script src="../js/jquery.js"></script> <script> var obj={ show:function(){ console.log(this,1); }, hide:function(){ console.log(this,2); } } //這次只是系結了事件,真正呼叫時是在hover的時候 //因此呼叫這個方法的實際是hover的元素 $(".btn").hover(obj.show,obj.hide);//this指向呼叫obj.show這個方法的元素 </script> </body> </html>
這里只是系結了事件,函式真正執行是在元素被hover的時候,因此this指向呼叫該方法的元素

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>test</title> </head> <body> <button class="btn">按鈕</button> <script src="../js/jquery.js"></script> <script> var obj={ show:function(){ console.log(this,1); }, hide:function(){ console.log(this,2); } } $(".btn").hover(function(){ obj.show();//方法是obj直接呼叫的,因此this指向obj },function(){ obj.hide(); }); </script> </body> </html>
這里的方法是在匿名函式中直接呼叫的(加了()小括號表示呼叫)
因此this指向呼叫該方法的obj物件

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/7141.html
標籤:jQuery
上一篇:封裝dropdown模塊(使用到之前寫好的影片組件,封裝下拉選單)
下一篇:jQuery 使用筆記
