2012-02-11 13 views
0

私はFacebookのようなチャットをしています。チャットバーをクリックしたときにチャットを表示/非表示する機能を実装したいが、.chat_txtまたは.chat_new_inputをクリックしたときには表示されない。あなたはどんなトリックを知っていますか?ここでデフォルト機能を無効にするjquery

//JavaScript Show/Hide Function 
$('.hidden_box').live("click", function(){ showChat(this); }); 
$('.active_box').live("click", function(){ hideChat(this); }); 

$('.chat_txt').click(function(event) { 
    event.preventDefault(); 
}); 

DIVのための構文は次のとおりです。

<div id="chat_system_msg_lp" class="chat_box clickable_box hidden_box"> 
    <div id="chat_system_msg_nick" class="chat_name">system_msg</div> 
    <ul id="chat_system_msg_txt" class="chat_txt"> 
     <li id="46">Hi visitor. We suggest you to sign in/sign up in order to have all the benefits from Live-Pin </li> 
    </ul> 
    <form class="chat_new_message" name="new_msg"> 
     <input type="text" placeholder="Enter your message..." class="chat_new_input"> 
    </form> 
</div> 

あなたはhttp://live-pin.comでライブデモを見ることができます。

+0

可能な複製[Return False jQuery Click()](http://stackoverflow.com/questions/9243753/return-false-jquery-click) –

+1

同じ質問を複数回投稿しないでください。追加する新しい情報がある場合は、質問の一番下にある編集リンクから質問を編集します。 –

+0

あなたはなぜ同じ質問を2回投稿しますか?私は実際に私の人生の1分を無駄にしてここに答えようとしました。 :< –

答えて

1

使用

$('.hidden_box #chat_system_msg_nick').live("click", function(){ showChat('#chat_system_msg_lp'); }); 
$('.active_box #chat_system_msg_nick').live("click", function(){ hideChat('#chat_system_msg_lp'); }); 

とJavascriptの最後の部分を削除します。

また、質問を再投稿しないでください。追加/変更するものがある場合は、元の質問を編集するだけです。

+0

それは動作しません。 – Luis

+0

おそらく$ .liveを使用する必要がありますか? ソースコードの大部分を見ることができないので、分かりにくいです。 – skimberk1

+0

ライブデモは、http://live-pin.com – Luis

1

イベントはDOM階層を「バブル」します。

正しい方法は、チャットボックスの代わりにタイトルバーdiv(#chat_system_msg_nick)にクリックイベントを割り当てることです。

+0

もっと具体的に教えてもらえますか?ありがとう! – Luis

+0

http://stackoverflow.com/questions/9242490/apply-a-jquery-function-live-in-1-object <---私はそれを記述する** – Luis

関連する問題