jQuery:Uncaught TypeError:$(...)。dialog不是一个函数

时间:2015-07-11 15:00:09

标签: jquery

这是我在页面上调用的javascript函数:

<script>
    $.fn.tabbedDialog = function () {
        this.tabs();
        this.dialog({ 'minWidth': 300, 'minHeight': 300, 'draggable': true, 'autoOpen': false, 'resizable': false, });
        var $dialog = $(this).closest('.ui-dialog');
        this.find('.ui-icon-closethick').append($('.ui-dialog-titlebar-close')).css('position', 'static');
        $dialog.find('.ui-draggable-handle').append($('.ui-tabs-nav').removeClass().addClass('ui-tabs-nav')).addClass('ui-tabs');
        $dialog.find('.ui-dialog-title').remove();
    }
    $('#xxx').tabbedDialog();

    $('a#show').click(function () {
        if ($('#xxx').dialog("isOpen")) {
            $('#xxx').dialog('close');
        }
        else {
            $('#xxx').dialog('open');
        }
    });
</script>

当我尝试打开对话框时,jQuery对话框与我的模板全局的脚本冲突,这是在我的模板附带的其他javascript文件中定义的脚本:

this.$dialog.on('mousedown.dismiss.bs.modal', function () {
      that.$element.one('mouseup.dismiss.bs.modal', function (e) {
        if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
      })
    })

我试过评论扰乱对话的代码行,但它扭曲了我项目的其他部分。请问如何解决此对话冲突 请帮助!

1 个答案:

答案 0 :(得分:1)

经过多次尝试后能够解决我的问题。我添加了这个,

jQuery(document).ready(function ($) {
//functions here
this.tabs();
$.noConflict(true);
.....
});

冲突得到解决。