События 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