Tôi cố gắng để thùng một thanh trượt panorama như một plugin jQuery, và tôi có đoạn mã sau ..jQuery Plugin: Lấy "này" đối tượng bên trong các chức năng khác
$.fn.panorama = function(settings) {
var myPanorama = this;
..
this.mousedown(function(e){
//do stuff
$(this).css... //this all work
}
//Call mouseup on document in case user lets go of mouse outside draggable object
$(document).mouseup(function(){
$(myPanorama).easeDragging(); //works but probably not the way to do it
this.easeDragging(); //ideal but refers to wrong object
});
}
Câu hỏi của tôi là làm thế nào để tham khảo cho đối tượng "this" bên trong $ (document) .mouseup call?
Vì nó cho rằng "đây" chính là tài liệu chứ không phải đối tượng được đính kèm với plugin.
Hiện tại tôi chỉ đang tạo biến và hoạt động nhưng phải có cách tốt hơn!
cảm ơn!
Bạn cũng có thể sử dụng '$ .proxy()' tại đây, ví dụ: '$ .proxy (function() {this.easeDragging();}, this)' :) –
@Nick: Một chức năng jQuery rất hữu ích mà tôi không biết, cảm ơn :-) –
Câu trả lời hay, tôi học một cái gì đó mới mỗi ngày! – Totomobile