如何模拟点击<input type =“image”/>?

时间:2009-11-05 19:09:51

标签: javascript image click simulation

当我们使用这种类型的输入提交表单时,坐标(x,y)会附加到结果中。

如果我动态创建2个隐藏输入,它可以工作,但我想要一些不同的东西 事件或MouseEvent会很棒,但我无法正常工作

这是我目前的代码:(工作正常)

var input = document.createElement("input");
input.type = "hidden";
input.name = "x";
input.value = posx;
my_form.appendChild(input);

input = input.cloneNode(false);
input.name = "y";
input.value = posy;
my_form.appendChild(input);

我会给你一个情况的例子

让我们想象一下,在图像表单元素附近有一个纯文本说:点击下图中任何大于20且小于60的位置

正常人会阅读此内容并正常点击 但我需要,作为一个没有手的机器人,模拟相同的点击事件

2 个答案:

答案 0 :(得分:2)

如果没有完全理解你在这里尝试做什么(你的问题有点模糊,IMO),我不得不问:你有没有考虑过使用jQuery或其他javascript库/框架?我有时会理解,对于非常简单的网站来说,它太过分了。但是,减轻你自己搞清楚这些东西的头痛可能是值得的。

根据我的理解,您使用“图像”表单元素提交表单,并且您希望模拟图像元素上的单击以检索某些内容的x / y坐标。我错了。你能否更清楚地了解你的细节?

当我对您的问题有更多了解时,我会看看我是否可以告诉您如何在jQuery中执行此操作。

答案 1 :(得分:1)

我无法分辨你要追加结果的内容。表格中的值?这是自动的,不需要代码(它们遇到x和y,或elementname.x和elementname.y)。

评论后编辑:
您可以通过不在那时制作元素来避免节点插入事件;即将x和y添加到表单中。然后在事件上你可以简单地设置它们的值。当然也有不同的事件你可以绑定它,我不知道你的情况,但是我使用了附加到页面主体的onClick事件an example。相反,您可能希望将特定的onClick事件绑定到不同的可点击项并为它们插入自己的位置,但在我的情况下,我在页面上提交了鼠标的位置。如果这没有用,请对其进行评论,我会看看是否可以再次修改它。