2017-09-13 15 views
0

jquery clickイベントで何か変わった動作があります。これは私のコードでした:Jqueryはクリックハンドラをクリックします

$("#item").on("click",function(){ 
    //do some stuff 
    $("#item2").click(); // doesn't work! 
}); 

しかし、#itemをクリックすると2回目のクリックは機能しません。 item2を手動でクリックすると機能します。これを行うとき、私はそれが動作するようになった:

$("#item").on("click",function(){ 
    //do some stuff 
    document.getElementById("item2").click(); //WORKS! 
}); 

私もjQueryのクリックトリガー前event.preventDefault()を試みたが、それはどちらか動作しません。

jqueryでこれが機能しない理由を誰かが説明できますか?

+0

試し '$( "#のITEM2" ドキュメントをお読みください).trigger( 'click'); ' – Rahul

+0

#itemをスクリプトでHTMLに追加しましたか? – Steven

+0

'$("#item2 ")。trigger(" click "); - >参照:http://api.jquery.com/trigger/ –

答えて

0

あなたは簡単な方法としてclick()を使用傾けるあなたはクリックイベントをtrigger()必要がありますので、それは、関数でなければなりません:

$("#item").on("click",function(){ 
    //do some stuff 
    $("#item2").trigger("click"); 
}); 
0

$(function(){ 
 
    $("#item").on("click",function(){ 
 
     //do some stuff 
 
     $("#item2").trigger('click'); // Now Works !!! 
 
    }); 
 

 
    $("#item2").on("click",function(){ 
 
     //do some stuff 
 
    alert('working') 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="item">item1</button><button id="item2">item1</button>

このfiddleを参照してください。 あなたのコードに

$("#item2").trigger('click'); 

を追加しました。ここで

0

はあなたのソリューションです:

$("#item2").trigger('click'); // jQueryの

0

のトリガ機能を使用するには、あなたはjQueryののドキュメントを読むことがありますか? https://api.jquery.com/click/にそこのonClick aoutで説明し、event.preventDefaultはソリューションのjQueryのトリガー

前には動作しませんなぜあなたは見つけることができます:

$("#item2").trigger('click'); // Use trigger function of jQuery to Trigger 

関連する問題