You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过自定义jQuery/JavaScript为WordPress网站输入框全局添加禁用Grammarly属性?

全局批量添加属性阻止Grammarly干扰表单

绝对可以!手动给每个表单字段挨个加属性太浪费时间了,用jQuery或者原生JavaScript都能轻松实现全局批量操作,彻底解决Grammarly对表单可用性的干扰问题。

首先明确一下,Grammarly官方认可的禁用属性是data-gramm="false",只要给输入字段加上这个属性,就能阻止它在该字段上运行。下面是两种具体实现方案:

方案一:使用jQuery(适合已引入jQuery的项目)

如果你的项目已经在用jQuery,直接用下面的代码就能搞定:

$(document).ready(function() {
  // 覆盖所有常见的可输入字段类型
  $('input[type="text"], input[type="email"], input[type="password"], textarea, [contenteditable="true"]')
    .attr('data-gramm', 'false');
});

说明:

  • $(document).ready()确保代码在DOM完全加载后执行,避免找不到元素的问题
  • 选择器包含了文本输入框、邮箱框、密码框、文本域,以及设为可编辑的元素,你可以根据项目实际情况添加或移除字段类型

方案二:原生JavaScript(无依赖,通用场景)

如果不想依赖jQuery,用原生JS也能实现同样的效果:

document.addEventListener('DOMContentLoaded', function() {
  // 选中所有目标输入元素
  const targetFields = document.querySelectorAll(
    'input[type="text"], input[type="email"], input[type="password"], textarea, [contenteditable="true"]'
  );
  
  // 遍历所有元素添加禁用属性
  targetFields.forEach(field => {
    field.setAttribute('data-gramm', 'false');
  });
});

处理动态加载的表单

如果你的页面有通过AJAX、弹窗等方式动态加载的表单,上面的代码只会处理页面初始加载的元素。这时候可以用DOM变化监听来覆盖动态添加的元素:

原生JS MutationObserver实现

// 创建观察者实例
const grammarlyObserver = new MutationObserver(function(mutations) {
  mutations.forEach(mutation => {
    // 只处理新增的节点
    if (mutation.addedNodes.length === 0) return;
    
    mutation.addedNodes.forEach(node => {
      // 只处理元素节点
      if (node.nodeType !== 1) return;
      
      // 检查当前节点是否是目标字段
      const isTargetField = ['INPUT', 'TEXTAREA'].includes(node.tagName) || node.hasAttribute('contenteditable');
      if (isTargetField) {
        node.setAttribute('data-gramm', 'false');
      }
      
      // 检查节点的子元素中是否有目标字段
      const childFields = node.querySelectorAll(
        'input[type="text"], input[type="email"], input[type="password"], textarea, [contenteditable="true"]'
      );
      childFields.forEach(field => field.setAttribute('data-gramm', 'false'));
    });
  });
});

// 开始监听整个页面的DOM变化
grammarlyObserver.observe(document.body, {
  childList: true,
  subtree: true
});

这个观察者会持续监控页面的DOM变化,只要有新元素添加进来,就自动给符合条件的输入字段加上禁用属性,完美覆盖动态加载的内容。

不管选哪种方案,都能帮你省去手动修改每个表单的麻烦,一次性解决Grammarly的干扰问题。

内容的提问来源于stack exchange,提问作者elliot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:51:34