Javascript函数需要两次点击

时间:2014-08-07 14:49:21

标签: javascript jquery ruby-on-rails ruby

javascript对我来说是全新的。我是一个相对缺乏经验的rails开发人员。我已经在一个名为joyride的rails 3应用程序中实现了一些东西,这是一个jquery插件,并为用户提供了一个“浏览页面”的弹出消息。这是在加载页面时很好地运行巡视的脚本

:javascript
  $(window).load(function() {
    $('#joyRideTipContent').joyride({
      modal:true,
      expose: true
    });
  });

完美无缺。我的问题是,当点击一个按钮而不是加载页面时,我需要它运行。

所以我从HAML页面上的一个简单按钮开始

%button#myBtn
  Lauch tour

这给了我我的按钮。然后我写了一个函数(原谅我的第一个),按下按钮时激活代码。

:javascript
  var myBtn = document.getElementById('myBtn');
  myBtn.addEventListener('click', function(event) {
    $("#joyRideTipContent").joyride({
      modal:true,
      expose: true
    });
  });

这是奇怪的地方。代码工作 - 在第二次点击。很明显,第一次传递了一些东西,然后第二次执行,但我离开了我的深度,任何人都可以帮忙!

感谢

编辑:

在建议中将代码更改为此,但存在同样的问题......

  $(function() {
    $("#myBtn").click( function()
      {
        $("#joyRideTipContent").joyride({
          modal:true,
          expose: true
        });
      }
    );
  });

编辑:为有时间的人添加了一个jsfiddle来查看http://jsfiddle.net/garethburrows/beonc06z/

1 个答案:

答案 0 :(得分:0)

尝试

  $('#myBtn').on('click', function(event) {
    $("#joyRideTipContent").joyride({
      modal:true,
      expose: true,
      autoStart: true
    });
  });

你混合了jquery和经典的js - 不好。