我期望这样打印“a”,因为当我调用foo(this)时,这个参数似乎是链接标签。
<script type="text/javascript"> function foo (e) { alert (e .tagName); } </script> <a href="javascript:foo(this)">click</a>
相反,它打印“未定义”。如果我提醒(e)它说“对象窗口”。如何让foo知道哪个元素启动它?没有通过/查找ids。
解决方法
你不应该使用href来使用JavaScript。不好的做法,而是使用onclick,这将魔术指向链接。
<a href="#" onclick="foo(this)">click</a>
您还需要取消链接的点击操作。无论是返回false还是使用preventDefault取消事件。
最好用Unobtrusive JavaScript附加事件