Jquery Selector 使用 not
Posted
技术标签:
【中文标题】Jquery Selector 使用 not【英文标题】:Jquery Selector use of not 【发布时间】:2012-02-02 06:10:40 【问题描述】:我在 div 中有一个类名为“.modalPopup”的 div 我有多个表格,在表格内部我有 div 和多个控件,如文本框(输入)和下拉列表(选择)。
我想要的是,当用户单击主 div 上除下拉列表(选择)之外具有“modalPopup”的任何位置时,我想触发单击事件。 我尝试使用我的选项,但我无法获得特定的点击事件。 像这样:
$('.modalPopup :not(modalPopup select)').click(function()
document.write("working for click except select ");
);
谁能给我解决办法?
【问题讨论】:
【参考方案1】:最简单的方法是将div上的点击事件与modalPopup
类绑定,然后使用e.target
检查用户实际点击的内容:
$('.modalPopup').click(function(e)
if (!$(e.target).is('select'))
document.write("working for click except select ");
);
e.target
是被点击的 dom 元素。 $(e.target).is('select')
获取该 dom 元素并从中创建一个 jQuery 对象并检查它是否是一个选择。
JSFiddle Example
【讨论】:
你能解释一下“if (!$(e.target).is('select'))”吗?我非常感谢你...【参考方案2】:您在 not() 条件中的 .modalPopup 之前缺少一个点。
$('.modalPopup :not(.modalPopup select)').click(function() document.write("working for click except select "); );
【讨论】:
我在这里打字时想念点。我找到了解决方案。感谢您的帮助。以上是关于Jquery Selector 使用 not的主要内容,如果未能解决你的问题,请参考以下文章
JQuery中$.each 和$(selector).each()的区别详解
是否可以使用 jQuery Selector 获取下拉框数组