5

ドキュメントの準備ができたときに最初の子のクリックを呼び出そうとしています.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);
});

Update2

したがって、問題は:first-child、ハンドラーの前にアクションを宣言したことでした。私は彼らの場所を変えました、そしてすべては大丈夫です

4

2 に答える 2

7

トリガーされた「クリック」を開始するにハンドラーを定義しましたか?

これは、トリガーのにハンドラーを配置することを除いて、フィドルからのまったく同じコードです

$(document).ready(function(){
    $('.loader').click(function(){
       alert($(this).data("target")); 
    });
    $('.loader:first-child').click();
    $('.loader:first-child').css("background", "red");
});​

これにより、探しているアラートが表示されます

于 2012-05-10T14:47:05.453 に答える
5

クリックイベントへのハンドラーが必要です...

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

$('a.loader:first-child').click();

アップデート:

ハンドラーは、要素の準備ができる前にアタッチされていた可能性があります。

$(function(){
    $('.loader').click(function(){
        var name=$(this).data("target");
            callVideo(name);
    });
});
于 2012-05-10T14:40:55.370 に答える