小编Rav*_*ous的帖子

MailChimp Campaign内容更新

MailChimp广告系列内容文档 - https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content

我正在尝试通过API将广告系列内容中的某些占位符替换为实际值.起初,我认为可能存在一些语法错误或内部逻辑错误,例如非唯一mc:edit的错误mc:repeatable,这会使得MailChimp拒绝/拒绝HTML,因此更新没有发生,但事实并非如此.

尝试用简单的替换html,<p>test</p>它仍然无法正常工作.

这里有几个本地日志,我将使用xyz作为我的广告系列ID:

2018-02-26 16:26:13 [::1][9804][-][warning][application] calling GET /campaigns/xyz/content []

2018-02-26 16:26:13 [::1][9804][-][warning][application] got both plain_text and html versions of content

2018-02-26 16:26:13 [::1][9804][-][warning][application] calling PUT /campaigns/xyz/content {"html":"<p>test</p>"}

2018-02-26 16:26:14 [::1][9804][-][warning][application] got response [ 'plain_text' => 'test' + other MailChimp stuff such as footer, that were appended automatically by MailChimp, 'html' => '<p>test</p>' ]

// calling GET immediately after PUT in order to see if any update occurred

2018-02-26 …

rest mailchimp mailchimp-api-v3.0

8
推荐指数
1
解决办法
1477
查看次数

jQuery事件委托不适用于jQuery UI datepicker

我试图阻止特定的点击事件从冒泡到文档根,结果关闭了我的一个弹出窗口.我需要停止冒泡活动,body或者html是我唯一可以拦截并阻止它的选项.

动态生成日期选择器弹出窗口,因此我无法在.ui-icon元素上使用直接事件,因此我在元素上注册了一个委托事件body以阻止它冒泡.

(function ($) {
    $(function () {
        $('body').on('click', '.ui-icon', function (e) {
            e.stopPropagation();
        });
    });
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,将直接事件注册到body元素并检查事件的目标就可以了.

(function ($) {
    $(function () {
        $('body').on('click', function (e) {
            if ($(e.target).is('.ui-icon')) {
                e.stopPropagation();
            }
        });
    });
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

我真的很茫然,为什么前一个不适用于后者,两者都应该做同样的事情.我错过了什么?它可能与jQuery datepicker在事件到达正文之前重组(其整个内容块在导航上重建)有关(但它没有意义)?

下面添加了该问题的代码段.我只想让箭头(datepicker导航)停止冒泡到文档/根级别(关闭我的弹出窗口),并且因为datepicker被附加到body,唯一可用的拦截点是body/html.

$(function() {
  let popup = $('#some-popup').addClass('visible');
  let input = $('#some-date');
  let toggler = $('#toggler');

  // binding popup
  toggler.on('click', function(e) {
    e.stopPropagation();
    popup.toggleClass('visible');
  });

  // initializing jQuery UI datepicker
  input.datepicker();

  // closing …
Run Code Online (Sandbox Code Playgroud)

javascript jquery event-bubbling event-delegation jquery-ui-datepicker

6
推荐指数
1
解决办法
502
查看次数