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

如何通过jquery模拟锚点点击?
EN

Stack Overflow用户
提问于 2009-04-21 17:18:12
回答 13查看 289.1K关注 0票数 148

我在通过jQuery伪造锚点点击时遇到了一个问题:为什么我的厚框在我第一次点击输入按钮时出现,而不是第二次或第三次出现?

下面是我的代码:

代码语言:javascript
复制
<input onclick="$('#thickboxId').click();" type="button" value="Click me" />

<a id="thickboxId" href="myScript.php" class="thickbox" title="">Link</a>

当我直接点击链接时,它总是起作用,但如果我试图通过输入按钮激活厚框,则不起作用。这是在FF中。对于Chrome来说,这似乎每次都能奏效。有什么提示吗?

EN

回答 13

Stack Overflow用户

发布于 2012-05-12 07:13:34

对我起作用的是:

代码语言:javascript
复制
$('a.mylink')[0].click()
票数 198
EN

Stack Overflow用户

发布于 2010-02-04 19:10:10

我最近发现了如何通过jQuery触发鼠标点击事件。

代码语言:javascript
复制
    <script type="text/javascript">
    var a = $('.path > .to > .element > a')[0];
    var e = document.createEvent('MouseEvents');
    e.initEvent( 'click', true, true );
    a.dispatchEvent(e);
    </script>
票数 19
EN

Stack Overflow用户

发布于 2012-02-07 21:12:00

这种方法适用于firefox、chrome和IE。希望它能帮助到某些人:

代码语言:javascript
复制
var comp = document.getElementById('yourCompId');
try { //in firefox
    comp.click();
    return;
} catch(ex) {}
try { // in chrome
    if(document.createEvent) {
        var e = document.createEvent('MouseEvents');
        e.initEvent( 'click', true, true );
        comp.dispatchEvent(e);
        return;
    }
} catch(ex) {}
try { // in IE
    if(document.createEventObject) {
         var evObj = document.createEventObject();
         comp.fireEvent("onclick", evObj);
         return;
    }
} catch(ex) {}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/773639

复制
相关文章

相似问题

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