私はSmartyブロックテンプレートを使うソフトウェアを使って作業しています。別のテンプレートを 'インクルード'するのは簡単です。SmartyはDOMに追加しないでください
{include file='frontend/folder/file.tpl'}
しかし、その後、私はそれはDOM、例に追加していないように、完全に無視取得の上のjQueryを使用しようとするもの:
<label id="testonetwothree">test</label>
、その後のjsファイルで(はいjQueryのが含まれています)
$('#testonetwothree').click(function(e){console.log('test);});
あなたはラベルをクリックすると、何も起こらない、それはそれを見つけることができないので、私がチェックしたときにイベントを使用してどこから来たのか、それは、しかし、DOMに追加されていない私に語った:
$("body").click(function(event) {
console.log("ID: " + event.target.id);
}
「testonetwothree」という要素が明確にクリックされているので、実際に行うことができます。
$("body").click(function(event) {
if(event.target.id == "testonetwothree"){
console.log('clicked testonetwothree');
}
});
しかし、それはほとんど解決ません、私はちょうど正しくDOMに追加していないですか、Smartyの経験を持っている人は、私は非常に感謝します、助けることができる場合、私は、どこか間違っているつもりのように感じます。 $('body').on('click', '#testonetwothree
対event.target.id == "testonetwothree"
の問題について、今
$('body').on('click', '#testonetwothree', function(){ console.log('testity');});
:私はコメントで述べたように
同じIDを持つ複数の要素があるかどうかを確認します。たとえば、ブラウザコンソールで '$( '[id =" testonetwothree "]')'を評価します。 IDは一意でなければならず、jQueryのセレクタシステムはこれをパフォーマンスに利用します。 – IMSoP
$( 'body')を使ってみましたか?( 'click'、 '#testonetwothree'、function(){ console.log( 'testity');}); – vicbyte
@IMSoP IDがあまりにもわかりにくいからです。/ – MagicalMidge