jQuery click()不触发按钮

时间:2019-12-18 15:11:34

标签: jquery

我正在尝试点击页面的onload上的按钮,以进行默认事件, 但是click()trigger("click")似乎都不起作用。

以下是示例:

https://jsfiddle.net/kneidels/Lras6fcy/

$("#getAttendanceRep").click();

$("#getAttendanceRep").click(function() {
  alert('clicked');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="datepicker form-control" value="2/2/2019" name="date" id="date">
<input type="button" id="getAttendanceRep" value="Display Slots" class="btn" />

我怎么了?

谢谢!

3 个答案:

答案 0 :(得分:5)

在附加处理程序之前,您正在触发点击

将它们交换以得到预期的结果:

$("#getAttendanceRep").click(function() {
    alert('clicked');
});

$("#getAttendanceRep").click();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="datepicker form-control" value="2/2/2019" name="date" id="date">
<input type="button" id="getAttendanceRep" value="Display Slots" class="btn" />

或者简单地,as suggested

$("#getAttendanceRep").click(function() { /* ... */ }).click();

答案 1 :(得分:0)

click事件不存在,因此,您需要在创建click事件后给他打电话。 或者更好的方法是将事件附加到链的末尾,如下所示:

$("#getAttendanceRep").click(function(){
 alert('clicked');
}).click();

答案 2 :(得分:0)

要在页面加载后触发按钮单击事件,应使用如下文档准备好检查包装它:

$(document).ready(function () {
    $("#getAttendanceRep").click(function () {
        alert('clicked');
    });

    $("#getAttendanceRep").click();
});

Updated sample