2014-02-17 1 views
2

Это по умолчанию для всех Jsкак переопределить существующую функцию в JQuery

getEditor: function(){ 
    $('#datatableEditor').remove(); 
    var editor = $('<div id="datatableEditor" class="popupEditor"/>'); 
    $('body').prepend(editor); 

    var dialog = $(editor).dialog({ 
     title: 'Edit item', 
     modal: true, 
     width: 'auto', 
     height: 'auto' 
    }); 

Сейчас я пишу еще JS. Мне нужно переопределить getEditor в моем js ...

+0

, что вы хотите изменить/реализации –

+0

Мне нужно изменить заголовок. он одинаковый для всех, но мне нужно изменить название как название действия – user2819086

ответ

0

Вы просто получаете ссылку на функцию «getEditor» и назначаете ей другую функцию.

getEditor:function(){ 
// new function will override the existing reference that getEditor already has. 
} 
1
someObject = { 
getEditor: function(){ 
    $('#datatableEditor').remove(); 
    var editor = $('<div id="datatableEditor" class="popupEditor"/>'); 
    $('body').prepend(editor); 

    var dialog = $(editor).dialog({ 
    title: 'Edit item', 
    modal: true, 
    width: 'auto', 
    height: 'auto' 
    }); 
} 

Так просто написать

someObject.getEditor = function(){ 
    // your own logic here 
} 

Вы должны получить объект, где функция GetEditor сохраненную, а также использовать ссылку, чтобы изменить его.

4

Вы не описали ваш вопрос, но ясно, основываясь на том, что вы упомянули в названии:

переопределить существующие функции в JQuery

Кажется, что вы хотите изменить JQuery функции и они, как правило, определяются как $.fn.getEditor, если это так, то вы должны сделать:

(function ($) { 
    var oldGetEditor = $.fn.getEditor; 
    $.fn.getEditor = function() { 

     //you can call the oldGetEditor here if you want 
    }; 
})(jQuery);