实时查询插件不适用于可见属性选择器
Posted
技术标签:
【中文标题】实时查询插件不适用于可见属性选择器【英文标题】:Live query plugin doesn't work with the visible attribute selector 【发布时间】:2010-11-10 13:57:15 【问题描述】:我在 jquery 就绪函数中运行了以下内容
$('[id$=txtCustomer]:visible').livequery(
function() alert('Hello') ,
function() alert('World')
);
我第一次收到警报说“你好”,但是当我切换文本框的这种可见性时,这些函数没有被调用。
请帮忙。
【问题讨论】:
感谢 Philippe 的格式化 【参考方案1】: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
【讨论】:
以上是关于实时查询插件不适用于可见属性选择器的主要内容,如果未能解决你的问题,请参考以下文章
JQuery选择器学习整理(基本选择器,层级选择器,伪类选择器,属性过滤,内容过滤,可见性过滤,范围选择器,排除选择器)
jQuery 基本选择器 层次选择器 过滤选择器 内容过滤选择器 可见过滤选择器 属性过滤选择器 表单对象属性过滤选择器