首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何用JavaScript模拟点击?

如何用JavaScript模拟点击?
EN

Stack Overflow用户
提问于 2010-04-25 02:10:30
回答 10查看 551.2K关注 0票数 365

我只是想知道如何使用JavaScript来模拟点击一个元素。

目前我有:

代码语言:javascript
复制
function simulateClick(control)
{
    if (document.all)
    {
        control.click();
    }
    else
    {
        var evObj = document.createEvent('MouseEvents');
        evObj.initMouseEvent('click', true, true, window, 1, 12, 345, 7, 220, false, false, true, false, 0, null );
        control.dispatchEvent(evObj);
    }
}


test 1



    simulateClick(document.getElementById('mytest1'));

但它不起作用:

有什么想法吗?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2010-04-25 05:30:10

这是我做的。这很简单,但它是有效的:

代码语言:javascript
复制
function eventFire(el, etype){
  if (el.fireEvent) {
    el.fireEvent('on' + etype);
  } else {
    var evObj = document.createEvent('Events');
    evObj.initEvent(etype, true, false);
    el.dispatchEvent(evObj);
  }
}

用法:

代码语言:javascript
复制
eventFire(document.getElementById('mytest1'), 'click');
票数 489
EN

Stack Overflow用户

发布于 2014-09-12 19:06:34

一些简单的东西怎么样,比如:

代码语言:javascript
复制
document.getElementById('elementID').click();

支持

即使是IE。

票数 524
EN

Stack Overflow用户

发布于 2010-04-25 02:12:47

您是否考虑过使用jQuery来避免所有的浏览器检测?有了jQuery,它就会像下面这样简单:

代码语言:javascript
复制
$("#mytest1").click();
票数 83
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2705583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档