初始化插件时有没有办法获得$(this)的访问权限?例如,我有一个可调整大小的插件,我需要访问正在调整大小的元素,所以我稍后可以在插件中声明的方法中使用它
$('.someClass').resizable({
resize:function(event, ui) {
$(this).doSomeStuff() //how to get access to $(this)? Where it should be declared?
}
})
我已经找到了解决方案:
$('.someClass').each(function(){
var me = $(this);
$(me).resizable({
resize: function(event, ui) {
$(me).doSomeStuff();
}
});
});
所有这一切只是为了确保插件位于$('')。each()方法
内答案 0 :(得分:1)
它是范围问题,因此将元素缓存在变量中:
var elem = $('.someClass');
elem.resizable({
resize:function(event, ui) {
elem.doSomeStuff() //how to get access to $(this)? Where it should be declared?
}
});
修改
n.b。记录'event','ui'到控制台应该澄清这些args为你提供的内容,同时检查api文档:http://docs.jquery.com/UI/Resizable
$('.someClass').resizable({
resize:function(event, ui) {
console.log(event);
console.log(ui);
}
});
答案 1 :(得分:1)
$("textarea").resizable({
stop: function (evt, ui) {
$(this).find(':input').focus();
}
});