2017-02-09 10 views
0

Мне нужно было перезаписать функцию show для определенных элементов. Пока это прекрасно. Но есть побочный эффект: мой рычащий элемент остается видимым после того, как он показывает. В консоли отсутствует ошибка журнала, а другая - отлично. Он также не застревает где угодно. Он просто никогда не прячется снова после его показа.в jQuery перезаписанная функция show делает видимость PrimeFaces видимой

Вот моя функция JQuery:

jQuery(function($) { 

      jQuery.fn.oldshow = jQuery.fn.show; 

      jQuery.fn.show = function() { 
       //Use old function 
       return jQuery(this).oldshow(); 
      }; 
     }); 

Здесь элемент рычать:

<p:growl id="growl" showDetail="true" /> 

без функции JQuery он работает, как ожидалось, и снова прячется.

Было бы здорово получить подсказку или решение.

Я уже пытался заменить его:

jQuery(function($) { 

      var oldshow = $.fn.show; 

      $.fn.show = function(args) { 
       var t = $(this); 
       return oldshow.apply(t, arguments); 
      }; 
     }); 

нет никакой разницы

+0

Возможный дубликат [Передача аргументов вперед другая функция javascript] (http://stackoverflow.com/questions/3914557/passing-arguments-forward-to-another-javascript-function) –

+0

не решает мою проблему. В этом случае аргументов нет. Я просто попробовал. Не делает различий :( – Lule

+0

Отлаживайте рычание js и проверяйте, куда вызывается скин, и что не так. Ошибки на консоли. Много вещей, которые вы можете и должны попробовать/исследовать самостоятельно. – Kukeltje

ответ

0

Переписать функцию primefaces вместо функции Jquery

PrimeFaces.widget.Growl.prototype.show = (function() { 
var oldFunction = PrimeFaces.widget.Growl.prototype.show; 
return function() { 
    //some logic 

    //use old function 
    return oldFunction.apply(this, arguments); 
}; 
})(); 
+0

Я думаю (думаю), что op хочет что-то сделать в универсальном шоу jquery и что он ломает Growl. Но я могу ошибаться (и вопрос чем было непонятно), а затем ваш ответ правильный – Kukeltje

+0

Kukeltje - это правильно. Мне нужна функция overlayPanel, и я попытался переопределить его в целом. Но я постараюсь сделать это только для функции showline-функции overlayPanel и дать вам обратную связь то! – Lule

+0

это сработало. Но если вы хотите переопределить штриховые рисунки, обратите внимание на то, что primefac Функция s называется «_show», а не «show». – Lule

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

  • Нет связанных вопросов^_^