我希望能够声明一个可以与任何选择器或方法一起使用的函数,因此我认为它可以像下面那样完成,但它不起作用!
为什么? :)
$(document).ready(function() {
$('img').hover(function(){
imageClass();
});
function imageClass() {
var thisClass = $(this).attr('class');
console.log(thisClass)
}
});
答案 0 :(得分:6)
您可以将$(this)
作为argument
从悬停事件中传递,您只需要更改imageClass method to receive a parameter
。
$(document).ready(function() {
$('img').hover(function(){
imageClass($(this));
});
function imageClass(obj) {
var thisClass = obj.attr('class');
console.log(thisClass)
}
});
答案 1 :(得分:0)
然而,这也将起作用:
$('img').hover(imageClass);
function imageClass() {
var thisClass = $(this).attr('class');
console.log(thisClass)
}
还有一个选择:
$('img').hover(imageClass);
function imageClass(e) {
var thisClass = $(e.target).attr('class');
console.log(thisClass)
}
答案 2 :(得分:0)
您可以尝试jQuery.proxy。它允许您通过this
如果您无法理解,请告诉我。