试图获得一个jquery脚本隐藏一个元素,当用户点击作用域外
Trying to get a jquery script to hide an element when a user clicks outside the scope
我正在尝试实现一段代码,当用户在下拉框本身的范围之外单击时,Twitter使用该代码关闭下拉登录框。
我有一点麻烦,目前,如果我点击元素的范围之外,它的工作原理如预期的,但同样的事情也发生当我点击元素范围内,即在#form元素。
HTML标记:
<body>
<div id="form">
<div id="form-tab"></div>
<div id="form-header">FooBar</div>
<form>
<label>Test</label>
<input type="text">
</form>
</div>
</body>
jQuery代码:$(document).mouseup(function(e) {
if ($(e.target).parent("div#form").length==0) {
hide();
}
});
function hide() {
$element.animate({
right: $rightPos
}, 1000);
}
如果有人能帮我找出我错在哪里,我将不胜感激。
为隐藏表单的body
元素创建一个click处理程序。为停止单击事件传播的表单创建单击处理程序。这样,如果您在表单中单击,事件就不会冒泡到主体事件单击处理程序中。
$('body').click( function() {
hide();
});
$('#form').click( function(e) {
e.stopPropagation();
});
try:
$(':not(#form)').mouseup(function(e) {
hide();
});
http://api.jquery.com/not-selector/相关文章:
- 分析:一个用户可以创建另一个用户吗
- 通过 Stripe 向用户收费,并将资金存入另一个用户帐户
- 我在Phaser有一个项目.我想在画布上的元素上做一个用户图像编辑器
- 当至少有一个用户触发事件而不刷新页面时,更改所有用户页面中的内容
- 一个用户脚本的两个实例如何在帧之间进行通信
- c#mvc一次只允许一个用户编辑树视图
- 有没有办法仅使用 JavaScript 来操纵控制台.log输出和下一个用户输入提示之间的时间
- 在 PHP 中弹出到同一应用程序的另一个用户
- 如何在另一个用户控件 ID 中获取用户控件 ID
- 如何在 C# 中将文本框值从一个用户控件获取到另一个用户控件
- 快速返回“;用户未被授权”;当修改来自另一个用户的对象时
- Node.js聊天服务器,当另一个用户发送数据时,客户端断开连接
- 有没有一种正确的方法可以确保一次只有一个用户使用REST+HTTP对对象进行更改
- 为什么为一个用户渲染的模板不为另一个用户进行渲染
- 如何使用service worker存储一个用户id
- Parse.com安全性:我可以保存一个对象并将其声明为另一个用户吗?
- 可以一个网站知道,如果我正在运行一个用户脚本
- Facebook只有一个用户权限窗口
- 为什么一个用户只有在使用VPN时才能正确地看到我的网站?
- 在Express中使用Mongoose将一个模型引用到一个用户模型