【问题标题】:If Input is focused trigger X else trigger Y如果输入聚焦触发 X 否则触发 Y
【发布时间】:2015-06-08 20:45:13
【问题描述】:

我试图在搜索输入聚焦时触发菜单上的不透明动画,并且当它没有聚焦时,该菜单返回 opacity:1。

下面是我的拙劣代码。

if($('input#edit-keys-2').is(":focus")){
  $('#zone-header ul#nice-menu-1').animate({opacity:0}, 300);
}else{
  $('#zone-header ul#nice-menu-1').animate({opacity:1}, 300);
}   

【问题讨论】:

    标签: javascript jquery search input


    【解决方案1】:

    像这样使用.focus().blur()

    $('input#edit-keys-2').on("focus", function(){
      $('#zone-header ul#nice-menu-1').animate({opacity:0}, 300);
    }).on("blur", function(){
      $('#zone-header ul#nice-menu-1').animate({opacity:1}, 300);
    });
    

    $('input#edit-keys-2').on("focus", function(){
      $('#nice-menu-1').animate({opacity:0}, 300);
    }).on("blur", function(){
      $('#nice-menu-1').animate({opacity:1}, 300);
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type="text" placeholder="focus me" id="edit-keys-2"/>
    <div id="nice-menu-1">animate me</div>

    【讨论】:

    【解决方案2】:

    听起来你想使用 JQuery 事件:

    .on( "blur", handler )
    .on( "focus", handler )
    

    https://api.jquery.com/blur/
    https://api.jquery.com/focus/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 2018-06-16
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多