#jquery
#jquery
Вопрос:
Как переопределить метод приведенного ниже примера кода плагина jQuery извне.
//This is simplified skeleton of infinatescroll plugin.
(function ($)
{
var defaults = {
prop: 'name'
};
var methods = {
init: function (params)
{
//Some code
return this;
},
retrive: function ()
{
console.log('Inside Plugin');
return this;
}
};
$.fn.my_plugin = function ()
{
//Some code
return methods.retrieve.apply(this, arguments);
};
})(jQuery);
Я пытаюсь переопределить метод ‘retrive’, как показано ниже, но он не работает.
(function ()
{
var originalPlugin=$.fn.my_plugin;
$.fn.my_plugin.retrive = function ()
{
console.log('Outsite Plugin');
};
originalPlugin.apply(this,arguments);
$('body').my_plugin();
})();
Ответ №1:
можете ли вы позволить себе что-то подобное?
<script type="text/javascript">
//This is simplified skeleton of infinatescroll plugin.
(function ($)
{
var defaults = {
prop: 'name'
};
var methods = {
init: function (params)
{
//Some code
return this;
},
retrive: function ()
{
console.log('Inside Plugin');
return this;
}
};
$.fn.getObj = function(){
return methods;
};
$.fn.my_plugin = function ()
{
//Some code
return methods.retrive.apply(this, arguments);
};
})(jQuery);
$(document).ready(function(){
var originalPlugin=$.fn.my_plugin;
console.log($.fn.getObj());
$.fn.getObj().retrive = function(){
console.log("look I am changed");
}
$('body').my_plugin();
});
</script>