【问题标题】:Why jQuery trigger or triggerHandler doesn't work?为什么 jQuery 触发器或 triggerHandler 不起作用?
【发布时间】:2014-02-19 17:00:32
【问题描述】:

这是我的代码:

<html>
<head>
     <script src="//code.jquery.com/jquery-1.10.2.js"></script>

     <script type='text/javascript'>
     window.onload=function(){

     var e = jQuery.Event( "click" );
     e.preventDefault();
     $("#rrx").triggerHandler(e);
     $("#rrx").trigger("click");

    }  

    </script>

</head>
<body>

    <a href="http://google.com" id="rrx" > gooooooog </a>

</body>
</html>

页面加载后,我应该被重定向到http://google.com,但这没有发生!

【问题讨论】:

  • 使用原生DOM点击方式:window.onload = function () { $("#rrx")[0].click(); }jsfiddle.net/3F9aQ/show
  • 你是对的,你的小提琴工作正常,但你知道我的代码有什么问题吗!?根据 jQuery 参考,我编码正确! api.jquery.com/trigger/#trigger-eventType-extraParameters
  • 你为什么要e.preventDefault();
  • @RocketHazmat 你可以摆脱它,但它没有帮助。仍然点击不执行
  • 因为 jQuery 不会触发锚标记上的原生点击方法,所以您的代码是正确的,但不会触发原生点击行为

标签: javascript jquery html javascript-events


【解决方案1】:

需要在anchor标签上调用原生的click方法,jQuery触发方法做不到,所以需要:

window.onload = function () { $("#rrx")[0].click(); }

等同于:

window.onload = function () { document.getElementById('rrx').click(); }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-29
    • 1970-01-01
    • 2011-04-17
    相关资源
    最近更新 更多