GVKun编程网logo

javascript – 如何知道点击的元素是否在jQuery的主要元素中?(js怎么知道点击的是哪个元素)

13

对于javascript–如何知道点击的元素是否在jQuery的主要元素中?感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍js怎么知道点击的是哪个元素,并为您提供关于javascript–jq

对于javascript – 如何知道点击的元素是否在jQuery的主要元素中?感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍js怎么知道点击的是哪个元素,并为您提供关于javascript – jquery if语句,用于检查元素是否在特定父div中、javascript – JQuery UI Draggable – 如何知道一个元素是可拖动的初始化?、javascript – jQuery – 检查元素是否进入视图,淡化那些元素、javascript – jQuery,单击其可点击容器内的元素 – 如何覆盖的有用信息。

本文目录一览:

javascript – 如何知道点击的元素是否在jQuery的主要元素中?(js怎么知道点击的是哪个元素)

javascript – 如何知道点击的元素是否在jQuery的主要元素中?(js怎么知道点击的是哪个元素)

参见英文答案 > How do I detect a click outside an element?                                    76个
我有点怀疑,我做了一个登录表单,当我点击它的空间时我想隐藏它.好吧,想象我有这个:

<div id="main-space">
    <div id="form-style">
        <input type="text" />
        <br /> <br />
        <input type="password" />
    <div>
</div>

好吧,当我点击此登录“框”外的元素时,我想隐藏主空间.我尝试了很多方法,但没有人工作.相信我,我搜索了很多,我没有找到任何解决方案.

顺便说一下,如果可能的话,我正在寻找一个jQuery解决方案.

解决方法:

你可以尝试这个 –

$(document.body).on('click',function(e){
  if(!$(e.target).closest('#main-space').length){
        $('#main-space').hide();
  }
});

javascript – jquery if语句,用于检查元素是否在特定父div中

javascript – jquery if语句,用于检查元素是否在特定父div中

我的布局中有很多带有.button类的元素.单击带有按钮类的元素后,我需要首先检查元素是否在Box1或Box2的父div中.

一个简短的例子是…如果点击的按钮在Box1 div&& (另一个条件)然后做一些事情.是否最好使用.closet和.length的组合来检查按钮是否在某个div内?

<div id="Box1">
        <div id="column1">
             <div></div>
             <div>
                  <div></div>
                  <div></div>
                  <div></div>
                  <div></div>
                  <div></div>
                  <div></div>
             </div>
        </div>
 <div> 

<div id="Box2">
        <div id="column2">
             <div></div>
             <div>
                  <div></div>
                  <div></div>
                  <div></div>
                  <div></div>
                  <div></div>
                  <div></div>
             </div>
        </div>
 <div> 

解决方法:

除了上面的答案,如果有多个按钮,而不是分别将事件绑定到每个按钮,您只需要附加一次,基于其祖先,您可以执行以下操作:

$(".button").click(function() {
  if ($(this).is("#Box1 *")) {}
});

javascript – JQuery UI Draggable – 如何知道一个元素是可拖动的初始化?

javascript – JQuery UI Draggable – 如何知道一个元素是可拖动的初始化?

我的逻辑是

if( !this.draginited() ) // a drag-disabled element shouldn't get pass here,as it is inited
  this.draggable({...})

我搜索了很多,找不到实现这个逻辑的方法,任何想法?

最佳答案
也许有一种更简单的方法,但docs说:

Draggable elements gets a class of
ui-draggable

所以你可以这样做:

if(!$("#foo").hasClass("ui-draggable")) {
    ...
}

所以包装它(未经测试):

$.fn.isDraggable = function() {
    return $(this).hasClass("ui-draggable");
}

console.log($("#someElement").isDraggable());

javascript – jQuery – 检查元素是否进入视图,淡化那些元素

javascript – jQuery – 检查元素是否进入视图,淡化那些元素

当我知道要指定哪个元素时,我找到了这个问题的答案,但我正在寻找的方法是检查’滚动’是否有任何具有特定类的元素进入视图,并修改它们(例如,改变不透明度 – 只有那些进入视野的人).我知道代码可能看起来与此类似,但我无法使其工作:

jQuery(window).on("scroll",function() {
var difference = jQuery(window).offset().top + jQuery(window).height()/2;
if (difference > jQuery(".makeVisible").offset().top) {
     jQuery(this).animate({opacity: 1.0},500);

}
});

非常感谢你.
注意:存在变量差异,因为我希望元素在到达屏幕中间时变得可见.

最佳答案
借用Check if element is visible after scrolling和Using jQuery to center a DIV on the screen来检查元素是否在屏幕的可视中心:

function isScrolledIntoView(elem)
{
    var centerY = Math.max(0,((jQuery(window).height()-jQuery(elem).outerHeight()) / 2) 
                  + jQuery(window).scrollTop());

    var elementTop = jQuery(elem).offset().top;
    var elementBottom = elementTop + jQuery(elem).height();

    return elementTop <= centerY && elementBottom >= centerY;
}

然后我们可以修改您的方法:

jQuery(window).on("scroll resize",function() {
    jQuery(".makeVisible").each(function(index,element) {
        if (isScrolledIntoView(element)) {
           jQuery(element).animate({opacity: 1.0},500);
        }
    });
});

javascript – jQuery,单击其可点击容器内的元素 – 如何覆盖

javascript – jQuery,单击其可点击容器内的元素 – 如何覆盖

我有一个列表o元素li成为我的图像轮播.每个元素都是一个缩略图,它可以使用jQuery点击,因为我需要将图像作为li background-image.这个我无法改变.当拇指点击时,它会调用一个灯箱来显示作为bg参数传递的图像.

<ul id="piclist">
    <lihttps://www.jb51.cc/tag/Box/" target="_blank">Box"><iid="1"></i></li>
    <lihttps://www.jb51.cc/tag/Box/" target="_blank">Box"></li>
    <lihttps://www.jb51.cc/tag/Box/" target="_blank">Box"><iid="2"></i></li>
    <lihttps://www.jb51.cc/tag/Box/" target="_blank">Box"></li>
</lu>

我的jQuery代码是这样做的:

<script type="text/javascript">
    $('.Box').click(function() {
        return $(this).ekkoLightBox();
    });
</script>

有用!但在某些特殊情况下,缩略图必须显示一种按钮,因此我使用了定位的< i>< / i>因为我在项目中使用Font Awesome.

下面的图片可以说明我在说什么:

问题是:

当li加载一个i元素时,它也必须是可点击的,并且它的链接必须覆盖他的父元素链接 – 容器.

我在jQuery中做了一段代码来执行此操作,但是当我单击i元素按钮时,操作会从li加载图像灯箱.这是不对的.它应该做另一个动作,例如,在新窗口中打开一个URL,加载另一个模式,whatelse.

<script type="text/javascript">
    $('.Box').click(function() {
        return $(this).ekkoLightBox();
    });
    $('.seq').click(function() {
        console.log($(this).attr("id")); //IT WORKS!
            *do other action...* //Doesn´t work,open the <li> lightBox!
    });
</script>

任何帮助?

总结

以上是小编为你收集整理的javascript – jQuery,单击其可点击容器内的元素 – 如何覆盖全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

今天关于javascript – 如何知道点击的元素是否在jQuery的主要元素中?js怎么知道点击的是哪个元素的讲解已经结束,谢谢您的阅读,如果想了解更多关于javascript – jquery if语句,用于检查元素是否在特定父div中、javascript – JQuery UI Draggable – 如何知道一个元素是可拖动的初始化?、javascript – jQuery – 检查元素是否进入视图,淡化那些元素、javascript – jQuery,单击其可点击容器内的元素 – 如何覆盖的相关知识,请在本站搜索。

本文标签: