使用JQuery,如何将.click()事件转换为不需要用户操作的事件

Using JQuery, how do I turn a .click() event into something that happens with no user action?

本文关键字:事件 转换 不需要 用户 操作 JQuery click 使用      更新时间:2023-09-26

我目前正在使用以下代码:

$("li.className").click(function () {
  $(this).fadeTo(1000, 0);
});

在点击时降低<li>的不透明度。如何在完全没有用户交互的情况下实现这一点,比如当页面加载时或在一段时间后?

on page load:

$(document).ready(function() {
  $("li.className").fadeTo(1000, 0);
})

在一段时间后:

$(document).ready(function() {
  setTimeout(function(){
    $("li.className").fadeTo(1000, 0);
  }, 2000) // this is 2000ms, or 2seconds
})

在不传递任何参数的元素上使用.click()将触发单击事件。(.trigger('click')的简写)

然而,它可能是一个更好的主意,有一个单独的函数调用您的点击事件和其他事件,这取决于您的代码的性质:)

您可以使用trigger方法触发此事件。你所要做的就是像这样调用它:

$(document).ready(function(){
    $("li.className").trigger('click');
});

或者,如果click事件对您不再有用,您可以简单地直接在jQuery对象上调用fadeTo方法,如下所示:

$(document).ready(function(){
    $("li.className").fadeTo(1000, 0);
});

当页面加载时,将其放在$(document).ready中。要在一段时间后执行此操作,请将其再次放入$(document).ready中,但也将其嵌套在setTimeout中:

setTimeout(function() {
    $(this).fadeTo(1000, 0);
}, NUMBER_OF_MILLISECONDS_TO_WAIT);