首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条件不起作用

条件不起作用
EN

Stack Overflow用户
提问于 2015-08-29 05:43:34
回答 3查看 38关注 0票数 0

下面是我的代码:

HTML:

代码语言:javascript
复制
<div id="a">
    aaa
</div>

<div id="b">
    <button>hide aaa</button>
</div>

<a href="#">link</a>

JS:

代码语言:javascript
复制
if($('#a:visible').length > 0) {
    $('a').click(function() {
        alert('a');
    });
}

$('button').click(function () {
    $('#a').hide();
});

http://jsfiddle.net/kgj4uw6f/

如果我点击“隐藏aaa”,然后点击链接,就会显示警报。我不想在隐藏#a时显示警报。如何更改我的代码?

EN

回答 3

Stack Overflow用户

发布于 2015-08-29 05:46:41

它是由内而外的。当点击发生时,你必须检查可见性。

代码语言:javascript
复制
$('a').click(function() {
  if ($('#a:visible').length > 0) {
    alert('a');
  }
});

$('button').click(function() {
  $('#a').hide();
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="a">
  aaa
</div>

<div id="b">
  <button>hide aaa</button>
</div>

<a href="#">link</a>
JS:

票数 2
EN

Stack Overflow用户

发布于 2015-08-29 05:48:51

我把你的条件改成在click事件内部运行,如下所示:

代码语言:javascript
复制
$('a').click(function() {
    if($('#a:visible').length > 0) {
        alert('a');
    }
});

$('button').click(function () {
    $('#a').hide();
});

http://jsfiddle.net/kgj4uw6f/2/

票数 1
EN

Stack Overflow用户

发布于 2015-08-29 05:51:03

这是另一种方法!可以使用$(element).is(":visible")检查图元的可见性。

代码语言:javascript
复制
$('a').click(function() {
     if($('#a').is(":visible")) {
        alert('a');
     }
 });


$('button').click(function () {
    $('#a').hide();
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32280183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档