jqueryでデリゲート関数を実装しようとすると、内部でalert()を使用すると完全に動作しますが、そのアラートを削除するとトリガされません。jqueryデリゲートまたはライブ関数が正常に動作しません
$(document).delegate("#j_id2030916047_790d592c", "click", function(){
alert("");
$("#p4").hide();
$("#p5").hide();
$("#p3").hide();
$("#check2").change(function(){
if($("#check2").is(":checked")) {
$("#p2").hide();
}
else{
$("#p2").show();
}
});
$("input[name='sor']").change(function(){
if($("input[name='sor']:checked").val()=="collegeStudent"){
$("#p3").show();
$("#p4").hide();
$("#p5").hide();
}
else if($("input[name='sor']:checked").val()=="schoolStudent"){
$("#p4").show();
$("#p5").hide();
$("#p3").hide();
}
else if($("input[name='sor']:checked").val()=="employee"){
$("#p5").show();
$("#p3").hide();
$("#p4").hide();
}
else{
$("#p5").hide();
$("#p3").hide();
$("#p4").hide();
}
});
uは私がアラートを削除すると、何も動作..アラートが存在する場合、すべての機能がうまく機能し、2行目に警告を見ることができます。..
に動作します:1.あなたは「文書」よりに委任する任意のより良いノードを持っていないことを確認しています?確かに物事を少なくとも少し効率的にするラッパーdivがありますか? 2. '.delegate()'は公式に非推奨ではありませんが、機能上同一である '.on()'に切り替えることをお勧めします。これは構文の点で逆のイベントとセレクタです。 –
私はprimefacesを使用しています、それはinbuilt jqueryを持っています、それはon()関数をサポートしません。デリゲートを使用するのではなく、ライブ関数も使用していますが、同じ問題があります。 – Karthikeyan
私はprimefaces(または一般的なJSF)についてはわかりませんが、そこからいくつかの問題が発生しているようです。確かに、primefacesが使用するjQueryをアップグレードできますか? –