Javascript:如何引用拥有事件处理程序的对象?
我有一个带有图像缩略图的页面,每个缩略图都有一个Javascript:如何引用拥有事件处理程序的对象?,javascript,Javascript,我有一个带有图像缩略图的页面,每个缩略图都有一个onclick事件 <a href='javascript:void(0)' onclick='getInfo();'> <img src='album/123.jpg' width='200' height='150' alt='' /> </a> <a href='javascript:void(0)' onclick='getInfo();'> <img src='alb
onclick
事件
<a href='javascript:void(0)' onclick='getInfo();'>
<img src='album/123.jpg' width='200' height='150' alt='' />
</a>
<a href='javascript:void(0)' onclick='getInfo();'>
<img src='album/456.jpg' width='240' height='320' alt='' />
</a>
在事件处理程序getInfo()
中,我想获取我单击的图像的信息,如源文件名或高度。我该怎么做?(我希望使用这个
,但它似乎指的是窗口,而不是
标签。)我还没有使用jquery,所以我希望得到一个纯javascript的答案。只要这样做:
onclick='getInfo(this);'>代码>
然后可以在方法本身中获取引用
或者您可以这样做:
onclick='getInfo(事件);'代码>//我想不发送,但chrome会发送
在函数中,您可以获得目标
通过活动:
function getInfo (evt)
{
evt.target...
}
通过此:
function getInfo (that)
{
do something with that....
}
onload
var a=document.getElementsByTagName("a");
for(var i=0;i<a.length;i++){
a[i].addEventListener("click", function(e){
var img=e.target;
var src=img.src;
alert("image source = "+src);
}, false);
}
var a=document.getElementsByTagName(“a”);
对于(var i=0;i尝试以下方法:
function getInfo() {
var owner = (window.event.target) ? window.event.target : window.event.srcElement;
// rest of your code
}
@stevenvh….嗨,现在我想起来了….小世界,不是吗?干杯!这看起来是最详细的答案,但当我试图发出警报
“src”时,它返回了未定义的
。无论如何,谢谢你的时间。@stevenvh,我用工作代码和小提琴编辑了答案。
function getInfo() {
var owner = (window.event.target) ? window.event.target : window.event.srcElement;
// rest of your code
}