(function($){
$.fn.kwicks = function(options) {
var defaults = {
isVertical: false,
sticky: false,
defaultKwick: 0,
event: 'mouseover',
spacing: 0,
duration: 500,
};
var o = $.extend(defaults, options);
var WoH = (o.isVertical ? 'height' : 'width'); // WoH = Width or Height
var LoT = (o.isVertical ? 'top' : 'left'); // LoT = Left or Top
return this.each(function() {
var container = $(this);
...
yadda yadda yadda
...
container.bind("mouseleave", function() {
...
});
});
};
})(jQuery);
我想在onload上调用这个“mouseleave”方法。我怎么能做到这一点?
如果我无法完成它,因为它是一种私有方法,我该如何公开呢?
提前致谢。是的,我不打算写一本关于如何在javascript中编写代码的书......哈哈。
答案 0 :(得分:1)
container
是您正在调用.kwicks()
的任何内容,因此相同的元素只会触发mouseleave
事件,例如:
$(".whateverContainerIs").mouseleave();
//or
$(".whateverContainerIs").trigger("mouseleave");
//or
$(".whateverContainerIs").triggerHandler("mouseleave");
.mouseleave()
是.trigger("mouseleave")
的快捷方式,然后.triggerHandler("mouseleave")
只运行您的处理程序,但事件不会冒泡......如果这很重要(在大多数情况下它不会不,除非父母有mouseleave
处理程序,否则你不想解雇。