我有一个链接:

<ul id="titleee" class="gallery">
  <li>
    <a href="#inline" rel="prettyPhoto">Talent</a>
  </li>
</ul>

我试图通过使用:

$(document).ready(function() {
  $('#titleee').find('a').trigger('click');
});

但这并不奏效。

我也试过:$('#titleee a').trigger('点击');

编辑:

我实际上需要触发这里调用的任何东西<a href="#inline" rel=" pretyto ">


当前回答

使用您提供的代码,您不能期望发生任何事情。我第二@mashappslab:首先添加一个事件处理程序:

$("selector").click(function() {
    console.log("element was clicked"); // or alert("click");
});

然后触发事件:

$("selector").click(); //or
$("selector").trigger("click");

您应该会在控制台中看到该消息。

其他回答

好吧,你必须先设置点击事件,然后你可以触发它,看看会发生什么:

//good habits first let's cache our selector
var $myLink = $('#titleee').find('a');
$myLink.click(function (evt) {
  evt.preventDefault();
  alert($(this).attr('href'));
});

// now the manual trigger
$myLink.trigger('click');

这并不能完全回答你的问题,但会让你得到同样的结果,而且不那么头疼。

我总是有我的click事件调用方法,其中包含我想要执行的所有逻辑。这样我就可以直接调用这个方法如果我想执行操作而不需要实际点击。

您应该调用元素的本机.click()方法或使用createEvent API。

更多信息,请访问:https://learn.jquery.com/events/triggering-event-handlers/

这是如何触发事件的演示

<!DOCTYPE html>
    <html>
    <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
        $("input").select(function(){
            $("input").after(" Text marked!");
        });
        $("button").click(function(){
            $("input").trigger("select");
        });
    });
    </script>
    </head>
    <body>

    <input type="text" value="Hello World"><br><br>

    <button>Trigger the select event for the input field</button>

    </body>
    </html>

使用您提供的代码,您不能期望发生任何事情。我第二@mashappslab:首先添加一个事件处理程序:

$("selector").click(function() {
    console.log("element was clicked"); // or alert("click");
});

然后触发事件:

$("selector").click(); //or
$("selector").trigger("click");

您应该会在控制台中看到该消息。