HOWTO钩入SilverStripe 3 'PageLoaded' 观察员?(Ho

2019-10-21 11:10发布

我需要加载页面后执行一个jQuery功能。 该文档告诉我,这将有可能钩到“PageLoaded”观察者。

所以,我想它好像有显示。 我把这个功能

Behaviour.register({
    '#Form_ItemEditForm' : {
        initialize : function() {
            this.observeMethod('PageLoaded', this.pageLoaded);
            this.observeMethod('BeforeSave', this.beforeSave);
            this.pageLoaded(); // call pageload initially too.
        },
        pageLoaded : function() {
            alert("You loaded a page");
        },
        beforeSave: function() {
            alert("You clicked save");
        }
    }
});

进入我的cms.js这让在后台加载的。 我尝试了内部和外部(function($) { .. code ..}(jQuery)); 并且也是第一个函数内doucment.ready函数内。

我总是收到相同的错误在我的控制台未捕获的ReferenceError:行为没有定义 。 哪里是我的mystake?

Answer 1:

我相信你会一直都在看文档为2.4,而不是3.x中

第3版及以上使用jQuery.entwine,在这个从内存是2.4岁原型插件的东西,这种行为是没有定义,当然意思,只是因为错误说建。

该文档最近已更新,因此,或许再次访问,你可能会学到新的东西和更多有用的:)



文章来源: Howto hook into 'PageLoaded' observer in SilverStripe 3?