2011-08-13 13 views
0

私はかなり単純なドロップダウンを作成しています。ここでは実際の例です:私が使用しているhttp://jsfiddle.net/K8VtB/jQuery:delegate()の代わりにlive()を使ってドロップダウンを行う

コードはこれです:

$(document.body).delegate('.select .option', 'click' , function(e){ 
    e.stopPropagation(); 
     $(".select .option:not('.darr')").hide(); 
     selectedOption = $(this).parents("div.select").find(".option:first"); 

     $(this).siblings().show(); 
     selectedOption.text($(this).text()).attr("title",this.title); 
}); 

$(document.body).delegate('.select .option:not(".darr")', 'click' , function(e){ 
    $(this).parents("div.select").find(".option:not('.darr')").hide(); 
    console.log($(this).attr('data-ajax-link')); 
}); 

$(document).click(function() { 
    $(".select .option:not('.darr')").hide(); 
}); 

私は前にデリゲートを使ったことがないので、私はこれでいくつかの助けを得ました。

live()メソッドでも同じことを試みました。なぜこれが生きているだけで働いていないのだろうか?それとも私が間違っているの?

ここでは私がやろうとしたライブと同じスクリプトです。ただ何も動作しません。 http://jsfiddle.net/K8VtB/1/

ここで私を助けて、私がlive()を使用するときに間違っていることを教えてもらえますか?それは問題ではありませんここに

$(window).click(function() { 
    $(".select .option:not('.darr')").hide(); 
}); 

+0

選択されたオプションは、 'selectedOptionは=' – Rafay

+0

はええ、これは私がログインするという理由だけで定義されていませんされています存在しない属性。それを見てください。私はちょうどdelegate()の代わりにlive()でドロップダウン自体を動作させる方法を疑問に思う。 – matt

答えて

1

変更

$(document).click(function() { 
    $(".select .option:not('.darr')").hide(); 
}); 

はフィドルhttp://jsfiddle.net/K8VtB/4/

+0

ありがとう! – matt

+0

喜んでお手伝いしました – Rafay

関連する問題