функция все еще работает после .hide ()? - PullRequest
0 голосов
/ 09 декабря 2011

У меня есть ссылка, когда я нажимаю, появляется всплывающее окно.Я установил модальное окно внутри функции, и оно выполняет некоторые другие функции.В модальном окне у меня есть кнопка закрытия.Но по какой-то причине

function popup(){
//dostuff
}


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

Когда я скрыл всплывающее окно, материал в функции все еще работает.Разве это не должно ничего делать?если я не нажму на ссылку снова?

Спасибо!

Редактировать: у меня есть скрытый элемент, и я хотел показать его при наведении, поэтому у меня есть оператор hover.Но я забыл добавить кнопку закрытия в этом скрипте, которая закрывает popup ();

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

1 Ответ

0 голосов
/ 09 декабря 2011

Я думаю, вы имеете в виду:

$('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();
}

, это то, чтодолжен выполняться всякий раз, когда мышь зависает out .Он всегда будет работать, когда ваша мышь зависнет от того, каким был ваш оригинальный селектор.

...