我在页面上有一张图片。我无法更改页面。当您单击此页面上的图像时,将运行一个函数并处理该图像。图像不是按钮。为了使图像响应点击,页面开发人员为其添加了一个监听器。实际上,该页面上的每个图像都有一个监听器。听众正在听“img”标签。
单击图像时,Javascript会检查该图像是否应响应单击,然后运行或不运行。
我正在开发一些自动化来填充此图像所在的表单。此自动化脚本需要填写表单并单击该图像。如何使用javascript点击该图片?
我应该在代码上查看什么来发现单击图像时运行的方法?
我的问题是:由于侦听器附加到该页面上的所有图像,但只有一些响应点击,我认为附加到侦听器的函数必须接收对需要处理的图像的引用。 ..这使一切变得复杂......
如果你们想要,我可以将页面和javascripts压缩并放在这里。
感谢
答案 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.addEventListener
和element.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
});