Плагин динамического запроса не работает с видимым селектором атрибута - PullRequest
1 голос
/ 14 июля 2009

У меня есть следующий запуск в функции jquery ready

$('[id$=txtCustomer]:visible').livequery(
       function() { alert('Hello') }, 
       function() { alert('World') }
   );

Я впервые получаю оповещение "Здравствуй", но функции не вызываются, когда я переключаю эту видимость текстового поля.

Пожалуйста, помогите.

1 Ответ

3 голосов
/ 14 июля 2009

События livequery "match / nomatch" не работают с псевдоселекторами jQuery, такими как ": visible". Они работают для селекторов классов.

Легким решением было бы добавить класс при показе элемента и удалить класс при скрытии элемента.

Например:

(HTML)

<input type="button" value="toggle"/>
<div id="item" 
     style="width:100px;height:100px;background-color:#ff0" 
     class="Visible">
</div>

(скрипт)

$(function() {

 $("#item.Visible").livequery(
     function() {
        alert("match");
     },
     function() {
        alert("nomatch");
     }
   );  


  $("input").click(function() { 
      if ($("#item").is(":visible"))
         $("#item").hide().removeClass("Visible"); 
      else 
         $("#item").show().addClass("Visible"); 
    });

}); 

Демонстрацию этого можно найти здесь: http://jsbin.com/uremo

...