代码之家  ›  专栏  ›  技术社区  ›  Marcus

Hopscotch.js,动态创建的模态目标不起作用

  •  2
  • Marcus  · 技术社区  · 11 年前

    我在用linkedIn的Hopscotch。

    我想向模态弹出窗口显示一个气泡,但跳房子似乎跳过了模态的步长。

    我的猜测是,问题与巡回对象初始化时跳房子目标不存在有关,因为模态显示在巡回步骤的“onNext”事件上。我已经尝试过将实际对象和id选择器作为“target”属性。我也没能去上班。

    一个极端的选择可能是制作两个不同的巡回演出,在第一个巡回演出的onEnd事件上显示模态,等待模态渲染完成,然后显示“下一个”巡回演出。但在诉诸这种怪异之前,我想找到一个巧妙的解决方案。

    2 回复  |  直到 11 年前
        1
  •  7
  •   Dawa    11 年前

    我遇到了同样的问题,所以我添加了一个方法来刷新下一步目标元素:

    /**
     * getCurrTarget
     *
     * @return {Object} The currently visible target.
     */
     {some code...}
    
    
     /**
     * setNextTarget   
     * @ Refresh the target dom element for the next step
     */
     this.setNextTarget = function(el) {
      currTour.steps[currStepNum+1].target = el;
     };
    

    然后我这样使用它:

     {step 1 code...}
     onShow:function(){
       hopscotch.setNextTarget($("#myStep2Target")[0]);                         
     }
    

    不是最好的方法,但速度很快。。。希望它能有所帮助;)

        2
  •  1
  •   Joe Halliwell    10 年前

    要让跳房子在每次运行旅行时解析动态目标,您可以简单地克隆旅行定义,即。

    hopscotch.startTour($.extend(true, {}, tour));