我用樹枝來生成我的HTML的東西和外部JS文件來調用jQuery(document).ready(function() {....});
這可能是一個簡單的問題,但我不能弄明白。jQuery的不執行,直到我把一個破發點中的螢火蟲
這裏是我的代碼: base.html.twig
<script>
var currentPage = "{{ path(app.request.attributes.get('_route'),app.request.attributes.get('_route_params')) }}".replace(/[0-9]|\//g, '').toLowerCase().replace('app_dev.php', '');
$.ajax({
type: 'GET',
url: "{{ asset('/app_dev.php/GetMenuJson/') }}" + currentPage,
success: function(data){
constructMenuData(data);
}
});
function constructMenuData(menuData)
{
var contentForDiv = "";
//Bunch of other concatenation statements to generate the html
contentForDiv += "<li><a href='' class='menuLink' id='"+result[j][k]["id"]+"'>" + result[j][k]["menuName"] + "</a></li>";
contentForDiv += "</div>";
// At the end
$('#menu').html(contentForDiv);
}
</script>
在我index.html.twig
{% extends "::base.html.twig" %}
{% block javascripts %}
{{ parent() }}
<script src="{{ asset('bundles/productorderlookup/js/ProductOrderEdit.js') }}" type="text/javascript"></script>
ProductOrderEdit.js
jQuery(document).ready(function() {
$('a.menuLink').click(function (event) {
event.preventDefault();
console.log("IN THE FUNCTION");
})
});
我生成的HTML如下這
<ul id="menu-item">
<li>
<a id="1" class="menuLink" href="">Release</a>
</li>
<li>
<a id="17" class="menuLink" href="">Other Pos</a>
</li>
<li>
<a id="18" class="menuLink" href="">FSC Labels</a>
</li>
</ul>
問題:單擊鏈接時不起作用。我試圖用另一個函數明確地包裝它並在index.html.twig
文件中調用它,但它仍然不起作用。它唯一的作用是當我在螢火蟲中放置一個斷點時。我意識到這可能是某種競爭條件或其他一些小問題,但我無法修復它。我嘗試過搜索各種問題,但迄今爲止沒有幫助。可能是什麼問題?
注意:我在頁面上有多個jQuery(document).ready(function() {...});
。不知道這是否重要。
謝謝你'ready'和問題的很好的解釋。我想我一直在想這個問題。很好的答案+1這解決了這個問題。 –
很高興我能幫到;) –