0
我有一個應用程序,其中我使用了很多不顯眼的javascript將軌道部分添加到我的頁面。Rails 4 - JavaScript無法工作,除非它把腳本標記放在頁面上
我遇到的麻煩是這樣的:如果放置在資產目錄不會工作的JavaScript。
在Chrome開發工具中,我可以看到它的加載,但沒有任何反應。在我的Coffeescript文件中,我使用了DOM準備替代方法找到here的渦輪鏈接。但是這沒有效果。
奇怪的是:如果我將腳本放在加載的部分的腳本標記內,那麼它就可以工作。
例如:如果包含選項卡的部分在加載javascript後加載,則此coffeescript文件將不會運行。
var ready;
ready = function() {
$('tab').click ->
$('.tab').removeClass("active");
$(this).addClass("active");
panel = $(this).attr("data-panel")
$('.panel').hide();
$('#' + panel).show();
};
$(document).ready(ready);
$(document).on('page:load', ready);
儘管此腳本放置在頁面的底部並且具有選項卡,但它仍可行。
<script>
$('.tab').click(function() {
$('.tab').removeClass("active");
$(this).addClass("active");
var panel = $(this).attr("data-panel")
$('.panel').hide();
$('#' + panel).show();
});
</script>
我的問題是這樣的:首先爲什麼會發生這種情況?其次,有沒有辦法解決這個問題?
感謝您指出我的錯誤。但是,即使我將腳本標記JS放在JS文件中並通過資產管道加載,也可以應用相同的結果。 – greyoxide
你爲什麼要調用$(document).ready(ready)和 $(document).on('page:load',ready)?你可能會兩次觸發聽衆。 –
如果您將控制檯消息添加到就緒功能中,它會顯示嗎? –