注意:当我不使用ajax时,这很好用。我有苗条和haml的相同行为。以下是使用ajax和Sinatra
的source我正在尝试在使用ajax时使用sinatra创建的页面中运行一些javascript。请参阅下面的haml示例。这很好用。有什么方法可以使用包含javascript的文件,而不是下面的警告声明,即。使用alert.js
@@testjavascript
%p #{@time}
:javascript
alert("Hello world");
以下是关于替代方法的更多背景知识。 当我尝试使用脚本语句时,脚本嵌入在我的html元素中。这就是我在做的事情:
我正在使用right.js。我添加了这个事件处理程序:
"#testscript".onClick(function(event) {
event.stop();
$('msg').load("/testscript");
});
和haml:
@@testscript
%p #{@time}
%script src="about.js"
当我这样做时,p元素和脚本元素都嵌入了div。
<div id="msg">
<p>The time is 2014-01-05 12:21:39 +0800</p>
<script>
src="about.js"
</script>
答案 0 :(得分:0)
请注意您的输出
<script>
src="about.js"
</script>
实际上并不是你想要的。你真正想要的可能是更像这样的东西:
<script src="about.js" />
为了获得类似的东西,你需要在HAML中添加src
属性作为属性,如下所示:
%p #{@time}
%script{:src => "about.js"}
另一个问题是你的jquery。它应该是$('#msg').load
,带#符号,因为这是div的id。