javascript - 防止Ajax触发jQuery脚本

标签 javascript jquery ajax drupal drupal-7

我们在 Drupal 站点上获得了一个简单的 jQuery 脚本,它注入(inject)了一个包含内容的 div 类:

(function($) {
Drupal.behaviors.myHelpText = {
  attach: function (context, settings) {

    //code starts

//change placeholder text

$('.form-item-quantity').append('<span class="help-block">For orders over 10 call for volume pricing</span>');
$('.help-block').css("flex-basis", "100%"); 

    //code ends

  }
};
})(jQuery);

该页面具有 Drupal Commerce 和各种产品属性字段,每次选择属性时都会由 Ajax 处理这些字段。当这样做时,我们的脚本每次在 Ajax 加载/更新时都会注入(inject)相同的重复行。

如何避免这种情况?我们只希望 jQuery 代码在页面加载时工作一次。

enter image description here

最佳答案

仅在元素不存在时添加该元素,否则不执行任何操作。

(function($) {
  Drupal.behaviors.myHelpText = {
    attach: function (context, settings) {

      if (!document.getElementById('help')) { 
         $('.form-item-quantity').append(
            '<span id="help" class="help-block">For orders over 10 call for volume ricing</span>'
         );
         $('.help-block').css("flex-basis", "100%");
      }

     }
  };
})(jQuery);

关于javascript - 防止Ajax触发jQuery脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55379607/

相关文章:

javascript - 如何组合输入中的单词?

javascript - AJAX 返回响应,但不将响应中的 HTML 代码附加到 div

JavaScript:CSS 选择语法

javascript - 删除 div 内的 div 内的最后一个 div

javascript - 响应式边框

javascript - 设置事件过滤器的 Extjs 4.1.3 按钮

php - 在 jQuery 中插入 HTML 换行符?

php - 带ajax调用和php功能的Wordpress投票系统无法正常工作

javascript - JSON/JQUERY - ajax post,如何在成功函数中处理 XML 数据

javascript - angularjs范围两个值保持指向彼此