jQuery插件:处理事件
我正在研究一个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. }; };