鏈式在多l(xiāng)i里 this沒有效果了
循環(huán)的時候lis[i].onmouseover=function () {
? ?sport(this,'width',400, function () {
sport( this,'height',400)},function () {
? ?});沒有效果?
循環(huán)的時候lis[i].onmouseover=function () {
? ?sport(this,'width',400, function () {
sport( this,'height',400)},function () {
? ?});沒有效果?
2016-11-23
舉報
2016-11-30
那要怎么做才有效呢,把this改成lis[i],也不行,謝謝
2016-11-23
在鏈式調(diào)用的時候不能使用this這個關鍵字,你這里的this沒有效果跟this的綁定的規(guī)則有關。this的綁定規(guī)則比較復雜,建議你看一下《你不知道的javascript上卷》,這本書里有解釋this的綁定問題。你這里的sport方法在第一次調(diào)用時的this的確是指向li的,這個this跟隨onmouseover后的匿名函數(shù),這個匿名函數(shù)的this指向li元素。但是第二個sport方法的調(diào)用是在第一個sport方法調(diào)用里的匿名函數(shù)中,這個匿名函數(shù)的this并不指向li標簽,而是指向第一個sport方法,所以后面的調(diào)用都失敗了,所以沒有效果。