Ruby on Rails - Javascript/jQuery to Haml



我正在尝试在Ruby上的Rails应用程序中实现此目标。唯一不起作用的是JavaScript代码。我已经尝试了%脚本和:JavaScript。但是由于某种原因,它不会加载。当我悬停在广播按钮上时,它不会显示任何内容。

javascript/jquery(来自jsfiddle):

$(document).ready(function(){
$('#container').on('mouseenter', '#radiobtn', showBox);
$('#container').on('mouseleave', '#radiobtn', hideBox);
function showBox(e){
    var x = e.pageX + 20;
    var y = e.pageY + 20;
$('#hoverbox').fadeIn();
$('#hoverbox').offset({ left: x, top: y });
}
});
function hideBox(){
$('#hoverbox').fadeOut();
}

示例:http://jsfiddle.net/wrn2u/387/

自己的JavaScript文件:

:javascript
 $(document).ready(function(){
  $('#container1').on('mouseenter', '#radiobtn', showBox);
  $('#container1').on('mouseleave', '#radiobtn', hideBox);
  function showBox(e){
    var x = e.pageX + 20;
    var y = e.pageY + 20;
    $('#hoverbox').fadeIn();
    $('#hoverbox').offset({ left: x, top: y });
  }
 });
function hideBox(){
$('#hoverbox').fadeOut();
}

haml:

!!!
 %html
  %head
   = javascript_include_tag 'options.js'
    #container1
      %input{:name => "optradio", :type => "radio", :id => "radiobtn"}option1
      #hoverbox
    #container2
      %input{:name => "optradio", :type => "radio", :id => "radiobtn"}option2
      #hoverbox2

这个问题可能对您有帮助。另外,我在您的JS-Fiddle中注意到JavaScript没有缩进。如果您使用的是HAML,则凹痕至关重要。确保您的JS从第二行的第一个缩进开始:JavaScript

:javascript
  $(document).ready( function() {
    alert('working');
  } );

或者。如果您尝试将JS 文件与HAML一起包含,则需要

= javascript_include_tag "my_js"

从这里。

另外,如果这无济于事。看到您的HAML文件将非常有帮助。

最新更新