I am working with CoffeeScript in Ruby on rails. And I am using http://js2.coffee/ to convert my javascript and jquery into CoffeeScript.
We know, Ruby on Rails provides us by default .coffee files when we create any controller.
In my view folder, I have defined a test.html.erb file, I have a button
<button id="p">try</button>
and if I define the script for this button by using javascript or jquery in the same page i.e. test.html.erb it works.
My javascript code
document.getElementById("p").onclick = function() {myFunction()};
function myFunction() {
alert("hello");
}
and my jquery
$(document).ready(function(){
$("#p").click(function(){
alert("hello");
});
});
And now I have created a custom file in app/assets/javascripts/test.coffee
coffeescript of my jquery code
$(document).ready ->
$('#p').click ->
alert 'hello'
return
return
and when I use this in my test.coffee it works fine.
coffeescript of javascript code
myFunction = ->
alert 'hello'
return
document.getElementById('p').onclick = ->
myFunction()
return
and when I use this code in my test.coffee it shows error in my console
Uncaught TypeError: Cannot set property 'onclick' of null
I have also try the test.js.coffee but still get the same error
so should I only use the coffeescript generated by jquery or is there any way to use the coffeescript generated by javascript?