我正在使用这个watermark jquery插件,但它有隐藏元素的问题,所以我找到了这个actual jquery插件来解决这个问题。
简单的解决方法是编辑水印插件(第92行):
e_height = $elem.outerHeight();
到
e_height = $elem.actual('outerHeight');
...但是这会把两个插件耦合在一起......我希望有一个更清洁的解决方案。
在另一个js文件中,我正在尝试覆盖水印插件中的outerHeight函数。
到目前为止,这是我尝试过的(没有成功)(第二次尝试使用此SO answer):
// 1st attempt
$(document).ready(function(){
$.fn.watermark.outerHeight = $(this).actual('outerHeight');
});
// 2nd attempt
(function($){
var _old = $.fn.watermark.outerHeight;
$.fn.watermark.outerHeight = function(){
return _old.call(actual,'outerHeight');
};
})(jQuery);
感觉像鸡肉/鸡蛋...... outerHeight和actual都应用于元素:
$('.thing').outerHeight();
$('.thing').actual('outerHeight');
...那么如何将waterHeight()替换为水印插件中的actual('outerHeight')并让实际('outerHeight')作用于$('。thing')...或$ elem,in水印插件?