0

私が得ているエラーは、onShow関数の最後の行からのものです:

    //modalregion: shows a modal detail view in bootstrap modal
var ModalRegion = Marionette.Region.extend({
    el: "#modal",

    onShow :  function(view) {
        view.on("close", this.hideModal,this);
        this.$el.modal('show'); //<- **throws TypeError: Object [object Object] has no method 'modal'** 
    },

    hideModal: function() {
        this.$el.modal('hide'); // bootstrap modal
    }
});

同じフォームでエラーが発生する他の投稿を見たことがあります オブジェクト[オブジェクトオブジェクト]にはメソッド「XXXX」がありません

彼らの解決策は「jqueryのロードを2回停止する」ことでした。require.jsを使用しているので、発生しないはずですが、Crome Devツールの[ネットワーク]タブを確認したところ、2回読み込まれるものはありませんでした。

this。$elはデバッガーで定義されていますが、関数としてモーダルでは定義されていません。

this.$el: jQuery.fn.jQuery.init
0: div#modal
context: #document
length: 1
selector: "#modal"
...snip...
load: function ( url, params, callback ) {
map: function ( callback ) {
mousedown: function ( data, fn ) {
mouseenter: function ( data, fn ) {
mouseleave: function ( data, fn ) {
mousemove: function ( data, fn ) {
mouseout: function ( data, fn ) {
mouseover: function ( data, fn ) {
mouseup: function ( data, fn ) {
next: function ( until, selector ) {

私が見逃しているステップはありますか?

ありがとう、

アンドリュー

4

1 に答える 1

2

領域$elは jQuery セレクター オブジェクトであり、modaljQueryUI や KendoUI などのプラグインや、モーダル機能を提供する何かがなければ、jQuery はこのオブジェクトに関数を提供しません。

この機能を提供するプラグインがmodalページに読み込まれていません。そのプラグインを必要とする必要があります。

于 2013-02-05T13:46:14.340 に答える