【问题标题】:Trigger onclick event of an anchor tag on document onload在文档加载时触发锚标记的 onclick 事件
【发布时间】:2014-02-02 00:55:25
【问题描述】:

我在 Wordpress 中构建了一个自定义插件。它基本上是一个客户反馈表,当您在主页时会弹出。

目前,当我安装此插件时,它会在页脚中创建一个锚链接。这只是为了测试目的。

当我单击页脚中生成的锚链接时,它会在我使用 Jquery 和 CSS 创建的自定义弹出窗口中打开我的客户反馈。

但是我想在我的页面加载时加载弹出窗口而不是点击锚链接。

为此,我使用 jQuery 触发函数在文档加载时调用该锚点的 Click 事件。

But its not working. Here is my code below :

**jQuery code**

jQuery(document).ready(function() {
    //alert('hi');
    jQuery('a.static_button').trigger('click');

    function alert_popup(){
        alert('yo yo yo .....you good to go.!!!');
    }

    jQuery('a.static_button').click(function() {
            loading(); // loading
            setTimeout(function(){ // then show popup, deley in .5 second
                loadPopup(); // function show popup
            }, 500); // .5 second
    return false;
    });
});

我的插件文件中的代码

<?php
function myscript(){
  wp_enqueue_script('light');
  wp_enqueue_style('stylesheet');
?>
    <a href="#" id="go-to-top" onclick="javascript:alert_popup();"  class="static_button topopup">Click here</a>
    <!-- PopUp Div goes here -->
     <div class="loader"></div>
      <div id="backgroundPopup"></div>
      <div id="toPopup">
          <div class="close">X</div>
              <div id="popup_content"> <!--your content start-->
                <div class="contact_form">
                    <form>
                        <?php echo do_shortcode('[cust]');?>
                      </form>
                  </div>
              </div>
         </div>
      <!-- PopUp Div ends here -->
<?php
}
?>

【问题讨论】:

  • 您是否尝试在触发器之前设置监听器?
  • 我觉得没有必要这样做,因为我检查了将其放入锚标记 onclick="javascript:alert('hii');" 并使用此 jQuery('a.static_button').trigger('click'); 在文档加载时调用它,它向我显示了一个弹出窗口,上面写着“嗨“@Secret

标签: php jquery css wordpress


【解决方案1】:

在此处查看示例http://api.jquery.com/trigger/ 作为参考

你的代码应该是:

jQuery(document).ready(function() {
    //alert('hi');

    function alert_popup(){
        alert('yo yo yo .....you good to go.!!!');
    }

    jQuery('a.static_button').click(function() {
            loading(); // loading
            setTimeout(function(){ // then show popup, deley in .5 second
                loadPopup(); // function show popup
            }, 500); // .5 second
    return false;
    });

    jQuery('a.static_button').trigger('click'); <----- after

});

一个样本JSFiddle

【讨论】:

  • @roskStar 是的,我什至试过这个,但没有用。
  • 顺便说一句,你的alert_popup() 被叫了吗?
  • 到@all 它通过将触发器调用放在我的javascript文件中所有函数的末尾来工作。非常感谢。
【解决方案2】:

更新:

试试这个,这次我测试了它,它会工作:

<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>

$(document).ready(function() {
    $('#test').click(function() {
        alert('yo yo yo .....you good to go.!!!'); 
    });
    $('#test').trigger('click');
});
</script>

</head>
<body>

   <a href="#" id="test">Click here</a>

</body>
</html>

您的代码中有一些拼写错误。

【讨论】:

  • 它通过将触发器调用放在所有函数的末尾来工作。呼。!!!感谢您的所有努力。
【解决方案3】:

看到你在 anchor 标签的点击事件上调用 loadPopup()..那么你为什么不调用 loadPopup () 直接在页面加载时起作用?

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-07
  • 1970-01-01
相关资源
最近更新 更多