示例HTML代码如下:
<!DOCTYPE HTML>
<html>
<head>
<title>onclick test</title>
<script type="text/javascript">
function whoClick(){
console.log(this);
}
</script>
<body>
<a href="javascript:void(0)" onclick="return whoClick();">Click Me</a>
</body>
</html>
运行结果:
Window jstest.htm
期望的结果:
<a onclick="return whoClick(this);" href="javascript:void(0)">
我的问题是:
如何不通过给whoClick()传参的方式得到这个a标签元素?
14 回答
慕容708150
TA贡献1831条经验 获得超4个赞
<!DOCTYPE HTML> <html> <head> <title>onclick test</title> <script type="text/javascript"> function whoClick(from){ console.log(from); } </script> <body> <a href="javascript:void(0)" onclick="return whoClick(this);">Click Me</a> </body> </html>
假如使用jQuery ,事件发送对象可以从this获得。
event.srcElement。
是这个吧?你应该知道这个的吧?
通过传递参数,可以写成this:
慕村9548890
TA贡献1884条经验 获得超4个赞
不传任何参数FireFox和IE下不行,可以试试这样:
<!DOCTYPE HTML> <html> <head> <title>onclick test</title> <script type="text/javascript"> window.onload=function(){ var aEle=document.getElementById("test"); aEle.onclick=whoClick; }; function whoClick(event){ var evnt = event||window.event; var current = evnt.target || evnt.srcElement; console.log(current.outerHTML); } </script> <body> <a id="test" href="javascript:void(0);">Click Me</a> </body> </html>
添加回答
举报
0/150
提交
取消