jQuery触发器点击第一个孩子

Ale*_*lex 5 jquery triggers click

.loader准备在文档准备好时调用第一个孩子的点击,但没有成功:

HTML:

<a class="loader" data-target="david-boy" title="Danny Boy-Rivera">
    <span class="img"><span class="play"></span><img src="img/gallery-image1.jpg" alt="" /></span>
    <h2>Danny Boy</h2>
</a>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

//Does not work
$('a.loader:first-child').bind('click');
$('a.loader:first-child').trigger('click');
$('a.loader:first-child').click();
//Works
$('a.loader:first-child').css("background", "red");
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

更新

处理器:

$('.loader').click(function(){
    var name=$(this).data("target");
    callVideo(name);
});
Run Code Online (Sandbox Code Playgroud)

UPDATE2

所以问题是我:first-child在处理程序之前声明了动作.我改变了他们的位置,一切都好

Lik*_*d_T 6

您是否启动触发的"点击" 之前定义了处理程序?

这是来自你的小提琴的完全相同的代码,除了我把处理程序放在触发器之前

$(document).ready(function(){
    $('.loader').click(function(){
       alert($(this).data("target")); 
    });
    $('.loader:first-child').click();
    $('.loader:first-child').css("background", "red");
});?
Run Code Online (Sandbox Code Playgroud)

这将弹出您正在寻找的警报

  • 我个人希望被告知在被告知之前我必须做什么......我认为任何一个有坏老板的人都会同情这个功能. (2认同)

gdo*_*ica 5

你需要有一个click事件的处理程序...

$('a.loader:first-child').click(function(){
    alert('clicked');
});

$('a.loader:first-child').click();
Run Code Online (Sandbox Code Playgroud)

更新:

您可以在元素准备好之前附加处理程序.

$(function(){
    $('.loader').click(function(){
        var name=$(this).data("target");
            callVideo(name);
    });
});
Run Code Online (Sandbox Code Playgroud)