示例:
var methods = {
init : function( settings ) {
},
destroy : function( ) { },
reposition : function( ) { },
show : function( ) { },
hide : function( ) { },
myfunc : function() {}
};
//
$.fn.myPlugin.defaults = {
// CALLBACK
onClickElement : function(element) {}
};
$('#elementLi').myPlugin({
onClickElement: function(element) {
// here call method myfunc
}
});
如何在onClickElement中调用myfunc?
谢谢! 附:抱歉我的英文不好
答案 0 :(得分:0)
按照惯例,事件处理程序应将this
设置为与事件关联的元素。
您的插件还应安排将原始event
传递给onClickElement
中已配置的任何功能,尽管您此处未包含该代码。
把它们放在一起,你应该最终得到:
$('#elementLi').myPlugin({
onClickElement: function(event) { // NB: *not* element
methods.myfunc.call(this, event);
}
});
或者,如果您遵循上述建议,则甚至不需要额外的function
块:
$('#elementLi').myPlugin({
onClickElement: methods.myfunc
});
只要你的回调使用.call(element, func)
来调用onClickElement
,它就会正确地将this
设置为元素,而不是methods
。