我正在研究一个jQuery插件,我想知道是否有可能让插件监听事件而不是被事件触发.
所以不是这样的:
$('#element_id').mouseover(function() { $(this).plugin(); }); $('#element_id').mouseout(function() { $(this).pluginHide(); });
我想尝试做这样的事情:
$('#element_id').plugin(????, ????);
并使用对触发它显示或隐藏的元素和事件的某种引用来替换?我仍然对jQuery感到厌烦,所以如果解决这个问题很明显,请耐心等待.
经过一些实验,看起来我正在寻找内置的"bind()"函数.解决我原来的问题:
jQuery.fn.plugin = function(show, hide) { this.bind(show, function() { // Do something to show. }; this.bind(hide, function() { // Do something to hide. }; };