作者JYHuang (夏天到了,冷不起來了說)
看板Ajax
標題Re: [討論] 函式被呼叫時的變數
時間Thu Aug 27 16:56:33 2009
今天在寫東西時又發現一個滿特殊的情況
function abc(str,elem){
alert(elem)
}
<li onclick="abc('123',this)">...</li>
<a href="#abc" onclick="abc('123',this)">...</a>
<a href="#abc" onmouseover="abc('123',this)">...</a>
我如果在
li上click,alert的會是[object HTMLLIElement]
我如果在
a 上click, alert的會是 domain.name#abc
把滑鼠移到
a上面的結果也跟click一樣
在<A>這個標籤上this這個屬性似乎比較不同於其它element..
不能把element本身傳過去
因為這些element是動態產生的,會出現相同的東西出現在同一頁上
所以用id或attribute去判別,會比較麻煩一點
除此之外還有什麼方法可以在function中函式主動知道
是由那個<A> 觸發的event呼叫函式的呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.125.221.11
1F:推 KiroKu:加id 傳this.id 08/27 16:58
※ 編輯: JYHuang 來自: 61.218.220.74 (08/27 17:10)
2F:→ JYHuang:因為是可能重複產生的動態物件,所以用id會有點麻煩 08/27 17:10
3F:→ TonyQ:我覺得只是 hyperlink 的 toString default是給url吧 ?.? 08/29 11:10
4F:→ TonyQ:你要不要試試看 改寫成 alert(elem.href) 之類的. 08/29 11:11