2009-07-14 46 views
1

我有以下的jQuery的ready函数运行实况查询插件不可见的属性选择工作

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

我得到一个警报,第一次说“你好”,但功能不叫当我切换文本框的这种可见性。

请帮助。

+0

谢谢你的格式菲利普 – 2009-07-14 09:52:16

回答

3

livequery“match/nomatch”事件不适用于像“:visible”这样的jQuery伪旋钮。他们为班级选择工作。

一个简单的解决方法是在显示项目时添加一个类,并在隐藏项目时删除类。

例如:

(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