使用CSS从特定Div中排除jQuery

开发人员

该网站使用此js,它破坏了在网站品牌div中添加的搜索表单输入字段

/**
 * Remove all off-canvas states
 */
 function removeAllFocusStates() {
    'use strict';

    var siteBranding = document.getElementsByClassName('site-branding')[0];
    var getFocusedElements = siteBranding.querySelectorAll(':hover, :focus, :focus-within');
    var getFocusedClassElements = siteBranding.querySelectorAll('.is-focused');
    var i;
    var o;

    for (i = 0; i < getFocusedElements.length; i++) {
        getFocusedElements[i].blur();
    }

    for (o = 0; o < getFocusedClassElements.length; o++) {
        deleteClass(getFocusedClassElements[o], 'is-focused');
    }
}

这是网站品牌容器的HTML输出

<div class="site-branding">
    <form role="search" method="get" class="search-form" action="http://dev.local/">
        <label>
            <span class="screen-reader-text">Search for:</span>
            <input type="search" class="search-field" placeholder="Search …" value="" name="s" />
        </label>
        <input type="submit" class="search-submit" value="Search" />
    </form>        
</div>

更新:这是正在使用removeAllFocusStates()函数,需要对其进行修改以排除搜索表单

  ...
  document.addEventListener('click', function(event) {

      // Remove all focused menu states when clicking outside site branding
      if (event.target !== document.getElementsByClassName('site-branding')[0]) {
          removeAllFocusStates();
      } else {
          // nothing
      }

  }, false);
}

用户无法在搜索输入字段中输入文本,因为js正在修改默认输入字段。

有没有一种方法可以使用CSS来解决此问题,因此它不适用于标头内网站品牌div中添加的搜索表单输入字段?

否则,有没有办法修改js,使其不影响搜索表单?

我确实搜索了类似的问题,但是找不到适合该问题的任何内容。

每件事

removeAllFocusStates()当用户单击输入时,尝试不拨打电话

所以

if (event.target !== document.getElementsByClassName('site-branding')[0]) {

变成像

if ( (event.target !== document.getElementsByClassName('site-branding')[0]) && (event.target !== document.getElementsByClassName('search-field')[0]) ) {

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CSS:从元素中排除(隐藏)特定区域

来自分类Dev

从jQuery Mobile中排除div吗?

来自分类Dev

从Scrapy中排除div

来自分类Dev

如何使用pgbackrest在postgres备份中排除特定表?

来自分类Dev

使用jQuery在DIV中排序DIV

来自分类Dev

从Angular摘要中排除div

来自分类Dev

从Angular摘要中排除div

来自分类Dev

CSS 从样式中排除子项

来自分类Dev

jQuery-从悬停中排除

来自分类Dev

使用find从通配符(*)中排除

来自分类Dev

如何从div中的JavaScript Photobox动画中排除特定图像?

来自分类Dev

如何从div中的JavaScript Photobox动画中排除特定图像?

来自分类Dev

使用:not()排除特定类的禁用按钮的CSS

来自分类Dev

jQuery / JS-如何在条件中排除具有特定href的<a>?

来自分类Dev

从 jquery 滚动功能中排除具有特定父级的“a”标签

来自分类Dev

从JOOQ的代码生成中排除特定的架构

来自分类Dev

如何从数组中排除特定ID?

来自分类Dev

从请求中排除特定于Laravel的值

来自分类Dev

如何在SQL中排除特定记录?

来自分类Dev

从Express'all()中排除特定路径

来自分类Dev

Gradle:如何从罐子中排除特定包装?

来自分类Dev

从全局环境中排除特定的对象类型

来自分类Dev

从休眠中排除创建特定的表?

来自分类Dev

从全球窃听中排除特定渠道的模式

来自分类Dev

如何从TypeClass解析中排除特定类型?

来自分类Dev

如何从数据框中排除特定的行?

来自分类Dev

如何从SQL计数中排除特定的行

来自分类Dev

如何从比赛中排除特定单词?

来自分类Dev

从javascript中的onbeforeprint中排除特定元素