2011-12-09 5 views
0

私がクリックするたびにリンクがあり、ポップアップがあります。私は関数内にモーダルウィンドウを設定しており、その中には他のものもあります。モーダルウィンドウには、閉じるボタンがあります。しかし何らかの理由で.hide()の後に関数がまだ実行されていますか?

function popup(){ 
//dostuff 
} 


$('selector').hover(function(){ 
    $('open_selector').click(function(){ 
    popup(); 
}); 
},function(){ 
    //button to .hide(); 
}); 

私はポップアップを隠しても、機能のものはまだ動作します。何もしてはいけませんか?もう一度リンクをクリックしない限りですか?

ありがとうございます!

編集:私は隠されている要素を持っています。私はホバー上にそれを表示したかったので、なぜホバーステートメントがあるのですか?しかし、このスクリプトでは、popup()を閉じるボタンを閉じるのを忘れていました。

$('button_selector').click(function(){ 
//hide the dialog box that pops up (in this case popup()) 
}); 

答えて

0

私はあなたが意味を考える:

$('selector').hover(function(){ 
    $('open_selector').click(function(){ 
     popup(); 
    }); 
},function(){ 
    //button to .hide(); 
}); 

まず、あなたがホバー機能の内部でイベントをサブスクライブしています。あなたが最初にこの要素の上にホバリングまで、なぜあなたのdocument.readyハンドラ

$('open_selector').click(function(){ 
    popup(); 
}); 

にあなたがそれを持っている方法は、これを入れないで、クリックハンドラがアクティブではないでしょう。また、このセレクタはというタグを 'open_selector'という名前で検索しようとします - これはクラスですか?もしそうなら、あなたは$('.open_selector').click(をしたい - 限り、あなたの元の質問、第二の機能として$('selector').hover


ため同上、何を

,function(){ 
    //button to .hide(); 
} 

としてリストアップして、マウスがを置いたときに実行することになっているものですアウト。元のセレクタが何であっても、マウスがいつも動くときには常に実行されます。

+0

こんにちは私の投稿を編集しました。ポップアップを閉じるクローズボタンについて言及していませんでした。 – hellomello

関連する問題