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

Это по умолчанию для всех js

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...


person user2819086    schedule 17.02.2014    source источник
comment
что вы хотите изменить / внедрить   -  person Rudresha Parameshappa    schedule 17.02.2014
comment
мне нужно изменить название. это то же самое для всех, но мне нужно изменить заголовок как имя действия   -  person user2819086    schedule 18.02.2014


Ответы (3)


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

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

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

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

       //you can call the oldGetEditor here if you want
    };
})(jQuery);
person Mehran Hatami    schedule 17.02.2014

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

getEditor:function(){
// new function will override the existing reference that getEditor already has.
}
person Vasile    schedule 17.02.2014

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, и использовать ссылку для его изменения.

person Farkhat Mikhalko    schedule 17.02.2014