如何在我的页面加载时立即触发按钮点击事件?

时间:2016-09-15 17:19:09

标签: javascript jquery

我有这个jQuery:

$(document).ready(function () {
    $("body").on( "click", "#btnGetData", function() {
        var _begdate = $("#datepickerFrom").val();
        var _enddate = $("#datepickerTo").val();
        var _unit = $("#unitName").text();
        document.body.style.cursor = 'wait';

        $.ajax({
            . . .elided for brevity.
        });
    });
    $("#btnGenData").trigger('click');
});

我需要在页面加载时立即发生click事件;在点击功能之后我尝试这样调用它:

$("#btnGenData").trigger('click');

......但它不起作用。我错过了什么?

2 个答案:

答案 0 :(得分:0)

虽然你的问题是因为一个小的typosince第一行必须有id #btnGenData而不是#btnGetData但除此之外我建议你在document.ready中使用setTimeout来触发click事件。延迟10ms将导致函数在调用所有$(document).ready()处理程序后立即运行。

**$("body").on( "click", "#btnGetData", function()** {
        var _begdate = $("#datepickerFrom").val();
        var _enddate = $("#datepickerTo").val();
        var _unit = $("#unitName").text();
        document.body.style.cursor = 'wait';

        $.ajax({
            . . .elided for brevity.
        });
    });



$(function(){
  setTimeout(function() {
        $("#btnGenData").trigger('click');
    },10);
    
  $('#btnGenData').on('click', function(){
    alert('clicked');
  })
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="btnGenData">btnCick</div>
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

点击处理程序正在寻找身体的孩子的任何按钮,其id为btn 获取数据。您触发的按钮的ID是btn Gen 数据。