2012-03-14 4 views
2

機能を台無しにする可能性があります他のタグが動作しない以外は本文をクリックしてください

$('body').not($('.theDIV')).click(function(){ 
    alert(''); 

    }); 

または問題はどこか他にありますか?

何が起こっているのですか?ボタンをクリックすると表示され、divの部分を除いて本文の任意の場所をクリックすると非表示にします。 HTML

<ul class='messages'> //these are made dynamically. should i use each() to go through all the elements? 
<li> 
    <div class='theDIV'></div> 
    <input type='button'> 
</li> 
<li> 
    <div class='theDIV'></div> 
    <input type='button'> 
</li> 
<li> 
    <div class='theDIV'></div> 
    <input type='button'> 
</li> 
</ul> 

申し訳ありませんが私が初めて

+0

は、なぜあなたは、それぞれにこれをやっているんだろうか? –

+0

あなたのHTMLコードは何ですか?たとえあなたが2 $( '。メッセージli')を持っていても、彼らはお互いを混乱させます。あなたは何をしようとしていますか? –

+0

コードは理にかなっていません。本体はLIの子孫になることはありませんので、 'not'は意味がありません。そして、要素ごとに新しいクリックハンドラをbodyに追加します。 – charlietfl

答えて

5

をクリア波平場合は

$('body').click(function(e){ 
    if(! $(e.target).hasClass('theDIV')){ 
    alert('clicked on something that has not the class theDIV'); 
    } 

}); 
+0

このソリューションをありがとう。時を越えている! – Simon

関連する問題