短縮版
通常、xy.js を記述して jquery をインクルードし、それを html/twig にインクルードします。このファイルは、ready() またはおそらく load() を使用します。
jquery を twig の scipt-tag で直接使用し、場合によっては、その関数を twig-file の他の script-tag で直接呼び出す場合、不利な点はありますか?
ロングバージョン
問題に取り組んでいるときに(見たい場合は...)、本当に基本的な知識が必要であることがわかりました。
独自のjsファイルを介してjqueryを含める場合、次のことができます。
$(document).ready()
DOM がロードされたときに何かを行うために使用する必要があります - OK
$(document).load()
js がリソースに依存している場合は、ready()で完全にロードされない可能性がある場合に使用する必要があります。
しかし、HTML (または私の場合は twig) にコードを直接含めるとどうなりますか。すなわち:
...
{% block subtitleRechts %}
{% if app.user %}
<span id="add">
<a href="{{ path('add') }}" alt="add Item">
<img height="20" src="{{ asset('bundles/myBundle/images/plus.png') }}"></a>
</span>
<script>
$("#add a").each(function() {
var url = $("#add a").attr("href");
var $dialog = $('<div class="modalerDialog"></div>').
dialog({
autoOpen: false,
modal: true,
width: 460
});
$(this).click(function() {
$dialog.load(url, null, function (responseText, textStatus, XMLHttpRequest) {
var title = $('#addPage').attr('title')
$dialog.dialog('option', 'title', title);
}).dialog('open');
return false;
});
});
</script>
{% if whatever %}
$("#add a").trigger("click");
{% endif %}
{% endif %}
{% endblock %}
...
これにより、リンクに ajax ダイアログが追加され、「whatever」の場合は直接実行されます。
これはローカルで機能しますが、欠点があるかどうかはわかりません(小枝、html、jsを1つのファイルに混在させる以外に)。私の場合、含まれているjsファイルもあります
アドバイスありがとうございます。