2015-07-11 3 views
0

Это моя функция 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 
     }) 
    }) 

Я попытался комментируя строку кода мешая диалог, но это искажает другие части моего проекта. пожалуйста, как я могу разрешить этот диалог конфликта Просьба помочь!

+0

создать демо с установленными плагинами, которые реплицируют проблему. Может потребоваться переименовать один из методов $ .fn – charlietfl

+0

Это не имеет большого смысла, 'this. $ Dialog' и' jQuery.fn.dialog' не имеет ничего общего друг с другом, вы должны были бы на самом деле перезапишите прототипированный метод в экземпляре jQuery. Вы уверены, что проблема заключается не только в том, что вы не загрузили пользовательский интерфейс jQuery. – adeneo

+0

Привет, adeneo, на который вы ссылаетесь jQuery.fn.dialog. – Learner

ответ

1

Удалось решить мою проблему после долгих попыток. Я добавил это,

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

И конфликт был разрешен.

Смежные вопросы