javascript - <a href ="javascript:foo(this)"> 传递Window,我要tag元素本身

标签 javascript html

我希望它打印“a”,因为当我调用 foo(this) 时,参数似乎是链接标记。

<script type="text/javascript">
    function foo (e) {
        alert (e .tagName);
    }
</script>
<a href="javascript:foo(this)">click</a>

相反,它打印“undefined”。如果我 alert(e) 它说“对象窗口”。我如何让 foo 知道哪个元素启动了它?无需传递/查找 ID。

最佳答案

您不应该为 JavaScript 使用 href。不好的做法是使用 onclick,this 会神奇地指向链接。

<a href="#" onclick="foo(this)">click</a>

您还需要取消链接的点击 Action 。使用 return false 或使用 preventDefault 取消事件。

最好用Unobtrusive JavaScript附加事件

关于javascript - <a href ="javascript:foo(this)"> 传递Window,我要tag元素本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9317643/

相关文章:

javascript - Service Worker 在页面加载后预加载子页面

html - 导致容器在我的菜单栏上重叠的视差效果

html - ="search"类型的输入没有显示圆 Angular

javascript - 奇怪的JavaScript出现在页面中

javascript - JS数组并排删除重复的字符串

javascript - 在 javascript 上更改 css 的背景 gif

javascript - 是否可以在 contentEditable 元素中禁用或控制 "commands"?

javascript - 使用jQuery后网页跳转异常

html - 不居中向右滑出列表项

javascript - qTip² - 单击时工具提示保持打开状态不起作用