私はあなたがそれをクリックするとアニメートするハンバーガーを持っています。私はそれをonRenderedセクションに配置すれば正常に動作させることができますが、イベントセクションでは動作しません。 Template.eventsでコードを実行しようとすると、ハンバーガーが応答しなくなります。jQueryはMeteorのonRenderedでは動作しますが、イベントでは動作しません。なぜですか?
間違ったつもりどこonRenderedコード
Template.Top_navbar.onRendered(function() {
var $hamburger = $(".hamburger");
$hamburger.on("click", function(e) {
$hamburger.toggleClass("is-active");
event.preventDefault();
var el = $(this);
el.prop('disabled', true);
setTimeout(function(){el.prop('disabled', false); }, 300);
});
});
イベントコード
Template.Top_navbar.events({
'click .hamburger': function (event) {
$(".hamburger").toggleClass("is-active");
event.preventDefault();
var el = $(this);
el.prop('disabled', true);
setTimeout(function(){el.prop('disabled', false); }, 300);
},
});
で
$(this)
を置き換えることができますonRenderedでは 'function(e)'を取得しましたが、 'function(event)' – rubie