[英]Meteor doesn't run jQuery
我有這個jQuery代碼
if (Meteor.isClient){
jQuery(document).ready(function(){
jQuery('#content .row > div').mouseenter( function(){
jQuery('#content .row div .edit').toggle();
});
jQuery('#content .row > div').mouseleave( function(){
jQuery('#content .row div .edit').toggle();
});
});
}
當我運行我的應用程序時,這是行不通的。 如果我將其放入chrome控制台,則可以完美運行。 有什么問題?
以前也發生過不同的代碼。
您的代碼將回調添加到執行代碼時存在的DOM元素中。 但是,Meteor稍后會在渲染模板時向頁面添加內容。 這是應該如何做:
選項1)使用流星事件
Template.asdf.events({
'click .classname': function(e) {
...
}
});
選項2)在極少數情況下,您需要以以前的方式無法使用的功能,請將JQuery內容放入rendered
回調中:
Template.asdf.rendered = function(){
_.each(this.findAll('.classname'), function(element){
$(element).on('mouseenter', function(){...});
});
};
選項3)在極少見的情況下,需要對所有頁面進行一些特殊處理時,請使用JQuery實時綁定
Meteor.startup(function(){
$('#content .row > div').on('click', function(){...});
});
您可以使用流星事件。
例如,使用Meteor.startup(function(){代替jQuery(document).ready(function(){
您必須在http://docs.meteor.com/#eventmaps上進行檢查
可能很簡單:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.