首页 > 解决方案 > 自定义按钮上的执行触发器问题 > Apexchat

问题描述

我为自定义按钮单击打开聊天窗口编写了触发器;我希望在单击 Case 对象中的自定义按钮时执行此触发器。

我正在使用 Apexchat。我的代码是,

<a href="javascript:void(0);" class="live-chat">Live Chat</a>
   jQuery(window).load(function() {
            jQuery('.live-chat').on('click', function() {
                jQuery('#apexchat_prechat_chat_icon').trigger("click");
            });
   });

谁能帮我解决这个问题?

标签: javascriptjquery

解决方案


根据我的理解,您使用的是 apexchat js 插件,一旦 UI 正确呈现,该插件就会被加载。因此,您必须首先获取 iframe 按钮实例,然后将其绑定到您的点击范围内。希望以下代码可以帮助:

jQuery(window).load(function() {
  jQuery('.live-chat').on('click', function() {
    //find iframe
    let iframe = jQuery('iframe#apexchat_chat_frame');

    //find button inside iframe
    let button = iframe.contents().find('#apexchat_chat_icon');

    //trigger button click
    button.trigger("click", function() {
      console.log("chat button/link clicked");
    });
  });
});

注意:我在这里考虑 iframe 的 id 是“apexchat_chat_frame”,而“apexchat_chat_icon”是按钮或链接的 id,点击后聊天窗口会被加载。


推荐阅读