簡體   English   中英

流星無法運行jQuery

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM