作者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