我正准备在文档准备好时调用第一个.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>
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");
任何想法为什么?
处理程序:
$('.loader').click(function(){
var name=$(this).data("target");
callVideo(name);
});
所以问题是我在处理程序之前声明了:first-child
动作。我改变了他们的位置,一切都好了
答案 0 :(得分:6)
您是否在之前定义了处理程序,您启动了触发的“点击”?
除了我把处理程序 BEFORE 设置为触发器之外,这里的代码与你的小提琴完全相同
$(document).ready(function(){
$('.loader').click(function(){
alert($(this).data("target"));
});
$('.loader:first-child').click();
$('.loader:first-child').css("background", "red");
});
这将弹出您正在寻找的警报
答案 1 :(得分:5)
您需要拥有click事件的处理程序......
$('a.loader:first-child').click(function(){
alert('clicked');
});
$('a.loader:first-child').click();
更新:
您可能在元素准备好之前附加了处理程序。
$(function(){
$('.loader').click(function(){
var name=$(this).data("target");
callVideo(name);
});
});