看例子.
<style>
.mouseon{background-color:#999}
</style>
<script>
jQuery(document).ready(function () {
$.fn.hoverClass=function(classname,callback1,callback2){
return this.each(function(){
$(this).hover(function(){
$(this).addClass(classname); 
if(typeof(callback1)=='function')
callback1();//问题出在这里,应该怎样修改?
},//hover function1
function(){$(this).removeClass(classname);
if(typeof(callback2)=='function')callback2();
}//hover function 2
);
})
};
//这是一个调用例子,这时 hoverClass() 中的callback1 是一个函数
$("#div_id").hoverClass(
"mouseon",
function(){ // 我的要求,是想做到像其他jQuery函数那样, this 是一个dom对象, $(this) 是一个 jQuery对象.
// 但问题是,这个函数里面的  this ,不知道是什么东西...
// 例如,下面这句调用, 我的目的,是要弹出  "div_id" 这个字符串. 但,实际上,却是弹出 "undefined"
// 请问,应该怎样修改 hoverClass() , 才能让调用函数的 this 指针满足我的要求?
alert($(this).attr("id"))
}
);//hoverclass
});
</script>
<div id="div_id">test</div>

解决方案 »

  1.   

     callback1(this); function(dom){    // 我的要求,是想做到像其他jQuery函数那样, this 是一个dom对象, $(this) 是一个 jQuery对象.
                            // 但问题是,这个函数里面的  this ,不知道是什么东西...
                            // 例如,下面这句调用, 我的目的,是要弹出  "div_id" 这个字符串. 但,实际上,却是弹出 "undefined"
                            // 请问,应该怎样修改 hoverClass() , 才能让调用函数的 this 指针满足我的要求?
                            alert($(dom).attr("id"))
                            }