Javascript - 使用代码单击图像

时间:2011-09-23 02:16:47

标签: javascript events

我在页面上有一张图片。我无法更改页面。当您单击此页面上的图像时,将运行一个函数并处理该图像。图像不是按钮。为了使图像响应点击,页面开发人员为其添加了一个监听器。实际上,该页面上的每个图像都有一个监听器。听众正在听“img”标签。

单击图像时,Javascript会检查该图像是否应响应单击,然后运行或不运行。

我正在开发一些自动化来填充此图像所在的表单。此自动化脚本需要填写表单并单击该图像。如何使用javascript点击该图片?

我应该在代码上查看什么来发现单击图像时运行的方法?

我的问题是:由于侦听器附加到该页面上的所有图像,但只有一些响应点击,我认为附加到侦听器的函数必须接收对需要处理的图像的引用。 ..这使一切变得复杂......

如果你们想要,我可以将页面和javascripts压缩并放在这里。

感谢

2 个答案:

答案 0 :(得分:2)

发送点击事件:

var target = yourImage;  //<--(insert your image here);
if(document.createEvent) {
  //Normal W3C event model
  var clickEvent = document.createEvent("MouseEvents");
  clickEvent.initMouseEvent("click", true, true, window, 
    0, 0, 0, 0, 0, false, false, false, 0, null);
  target.dispatchEvent(clickEvent);
}
else {
  //IE event model
  target.fireEvent("onclick");
}

通常情况下,点击会使用element.addEventListenerelement.attachEvent附加到元素,但有时会使用element.onclick。 如果页面使用jQuery,它可能会使用附加到根节点的live方法。但是,之前的方法应该可以正常工作,因为事件的目标设置为target

答案 1 :(得分:2)

http://jsfiddle.net/efortis/9nmAR/

$(document).ready(function (){
    $('img').click(function() {
        alert($(this).attr('alt'));     
    });


$('img').eq(0).click();     // << I think this is what you need

});