Javascript / Adob​​e DTM:跟踪复选框仅点击一次

时间:2018-03-01 22:17:52

标签: javascript javascript-events adobe event-tracking

首先,像往常一样,对不起,如果这个答案存在,但我搜索了,并且找不到我正在寻找的答案。

我尝试仅在一次上跟踪输入复选框上的操作,也就是说,如果我有一个复选框列表,我只想跟踪用户是否点击了一次,所以即使他们取消选择了一个chackbox,他们也只检查了第一次点击是否被跟踪。

我知道有一种方法可以检查JS是否通过" querySelector()点击了一个复选框.input"类型调用,但我失去了如何使整个圆圈只有一次跟踪事件触发,无论用户切换多少次。

考虑以下标记:



  <li class="js-form-item form-item form-item__item form-item--checkbox__item">
    <span class="checkbox"> 
      <input view_id="explore" display_id="explore_main" data-drupal-selector="edit-category-title-app" type="checkbox" id="edit-category-title-app" name="category[title_app]" value="title_app" class="form-checkbox form-item__textfield">
        <label for="edit-category-title-app" class="checkbox__label">
          <span class="checkbox__faux"></span><span class="form-item__label">App</span>
        </label>
     </span>
</li>
&#13;
&#13;
&#13;

非常感谢任何帮助。请给我香草JS。谢谢。

1 个答案:

答案 0 :(得分:-1)

附加事件监听器并在触发时将其删除。

function addEventListenerOnce(target, type, listener) {
    target.addEventListener(type, function fn(event) {
        target.removeEventListener(type, fn);
        listener(event);
    });
}

addEventListenerOnce(document.getElementById("edit-category-title-app"), "change", function (event) {
    alert("You'll only see this once!");

    // DTM call here
});

请参阅此post