gpt4 book ai didi

javascript - 如何获取onclick调用对象?

转载 作者:IT王子 更新时间:2023-10-29 03:04:53 26 4
gpt4 key购买 nike

我需要在 onclick 事件的调用对象上有一个处理程序。

<a href="123.com" onclick="click123(event);">link</a>

<script>
function click123(event) {
//i need <a> so i can manipulate it with Jquery
}
</script>

我想在不使用 jQuery 的 $().click$().live 但使用上述方法的情况下执行此操作。

最佳答案

在内联点击处理程序中传入this

<a href="123.com" onclick="click123(this);">link</a>

或者在函数中使用event.target(根据W3C DOM Level 2 Event model)

function click123(event)
{
var a = event.target;
}

当然,IE is different ,所以处理这个问题的普通 JavaScript 方法是

function doSomething(e) {
var targ;
if (!e) var e = window.event;
if (e.target) targ = e.target;
else if (e.srcElement) targ = e.srcElement;
if (targ.nodeType == 3) // defeat Safari bug
targ = targ.parentNode;
}

或更简洁

function doSomething(e) {

e = e || window.event;
var targ = e.target || e.srcElement || e;
if (targ.nodeType == 3) targ = targ.parentNode; // defeat Safari bug
}

其中 e 是在 IE 以外的浏览器中传递给函数的事件对象

不过,如果您使用的是 jQuery,我强烈建议使用不显眼的 JavaScript,并使用 jQuery 将事件处理程序绑定(bind)到元素。

关于javascript - 如何获取onclick调用对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1553661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com