直接使用できますthis
el = this;
アップデート:
「handlebars.js」に気づきませんでした。とにかく、handlebars js は html 文字列を扱います。オブジェクトを操作しません。テンプレートを作成し、データを適用して、必要な html 文字列を設定できます。したがって、jQuery を使用して取得できるデータを追加する場合は、以下に示すようにプロパティを追加する必要があります。
<li data-name="abc">abc</li>
を使用して取得できます
$("li").data("name")
次のコードが jsfiddle に役立つことを願っています: http://jsfiddle.net/diode/bGJTv/
Handlebars.registerHelper('str', function(items, options) {
var out = '<ul>';
for (var i = 0, l = items.length; i < l; i++) {
out = out + '<li data-mydata="' + items[i].year + '" onclick="onLiClick(event)">' + items[i].firstName + " " + items[i].lastName + '</li>';
}
return out + '</ul>';
});
$("#entry-template").html(Handlebars.compile($("#entry-template").html())({
people: [
{
firstName: "Yehuda",
lastName: "Katz",
year: "2010"},
{
firstName: "Carl",
lastName: "Lerche",
year: "2011"},
{
firstName: "Alan",
lastName: "Johnson",
year: "2012"}
]
}));
onLiClick = function (event){
console.log(event.currentTarget);
console.log($(event.currentTarget).data("mydata"));
}